네트워크의 형태는 규모에 따라 LAN, MAN, WAN으로 나눌 수 있다.
1.네트워크 형태
- LAN(local area network; 근거리 통신망):
- 가까운 거리에 있는 단말간의 네트워크
- 단일 LAN은 거리적으로 한정되지만, 복수의 LAN을 연결하면 대형 네트워크 형성이 가능하다.
- 관리자가 직접 관리 가능한 영역
- MAN(metropolitan area network; 도시권 통신망):
- LAN과 WAN 중간 정도의 네트워크
- LAN이 1개의 기업, 빌딩 내를 연결하는 네트워크라면, MAN은 1개의 도시로 확장한 네트워크
- WAN(wide area network; 광역통신망):
- 도시 간, 국가 간 등 원격지 사이를 연결하는 통신망
- 두 개 이상의 LAN 영역을 연결한 영역
- 광범위하게 분산된 LAN과 MAN을 연결
특수 네트워크
- Intranet
- 사설 네트워크
- 내부의 네트워크
2. 네트워크 접속 장치
<네트워크 접속 장치>
통신망을 사용하기 위해 가장 기본이 되는 하드웨어다.
ex. 라우터, 스위치, 허브, 브릿지
<랜카드>
네트워크에 연결하는 물리적 장치에는 반드시 하나 이상의 랜카드가 있어야 한다. 랜카드는 전송매체에 접속하는 역할과 데이터의 입축력 및 송수신, 프로토콜의 처리 기능 등을 담당한다.
<맥주소>
각 랜카드에는 주민등록번호와 같은 고유의 식별코드가 있다. 랜카드에 할당되는 48비트 물리적주소를 MAC(Media Access Address)주소라고 한다. 맥주소 중 앞의 24비트(3옥텟)는 랜칩셋 제조사를 의미하는 고유 코드고, 뒤의 24비트는 제품의 일련번호와 같이 부여되는 것이다. 즉, 맥주소는 전 세계에서 유일한 고유 번호다. 실제로 네트워크 통신을 할 때 하드웨어가 사용하는 주소는 랜카드에 할당된 맥주소를 이용한다.
3. 통신방식
<유니캐스트 & 브로드캐스트 & 멀티캐스트 & 애니캐스트>
- 유니캐스트
- 서버와 클라이언트 간 1:1 통신 방식
- ex. 전화
- 브로드캐스트
- 같은 네트워크 대역에 있는 모든 단말기에 데이터를 전송
- 정보 전달 또는 정보 수집이 주 목표
- 1:ALL
- 멀티캐스트
- 데이터를 전송하려는 특정 그룹 단말기에게 데이터를 전송하는 통신 방식
- 1:N(특정 그룹
- 애니캐스트
- 멀티캐스트처럼 1:N
- 여러대의 특정 호스트에 응답 요청
- 특정한 여러 호스트 중에서 네트워크 상에 최적의 조건을 가지고 있는 대상을 선별 해 그 대상에게 전송
<커넥션 & 커넥션리스>
- 커넥션(TCP): 송신 호스트와 수신 호스트 사이의 회선 연결 후 통신
- 커넥션리스(UDP): 통신
<회선교환 & 패킷교환>
- 회선교환(Point to Point, End to End)(circuit switching)
- 회선을 독점적으로 사용해 통신
- 안정적인 통신이 가능
- 음성전화 시스템에 사용
- 모든 데이터는 동일한 경로로 전송
- 패킷교환(packet switching)
- 전송하려는 데이터를 패킷 단위로 쪼개어 전송
- 패킷을 동일한 경로가 아닌, 다양한 경로로 전송해도 됨
- 송신 패킷의 순서와 수신 패킷의 순서가 다를 수 있음
4. OSI 7 계층
<프로토콜 & OSI 7 계층>
프로토콜은 통신 시스템이 데이터를 교환하기 위해 사용하는 통신 규칙이다.
OSI7 계층 모델은 모든 통신이 가능하기 위해 개발된 네트워크 아키텍쳐로 실제 네트워크에서는 구현되지 않지만 참조 모델로서의 의미가 있다.
OSI 7 계층은 통신에 필요한 기능을 7개의 계층으로 분할하여 프로토콜을 단계별로 표준화 하는 것을 목적으로 한다. 각 계층에서 수행되는 프로토콜은 서로 독립적이라고 가정한다.
7 계층으로 나눠서 프로토콜을 단순화 시키는 이유는, 통신 과정을 단계 별로 파악하고 이상이 생길 시 해당 단계만을 고치기 위함이다.
<데이터 단위>
네트워크 프로토콜을 사용해 데이터를 교환할 때는 먼저 데이터를 특정 형태로 규격화하는 작업이 필요하다. OSI 7 계층도 데이터를 프로토콜에 맞춰서 규격화 한다.
OSI 7 계층 모델의 각 계층에서 규격화된 데이터는 고유 명칭이 있고, 계층에 관계없이 사용할 때는 통칭하여 PDU라고 부른다. - 출처: 데이터 통신과 컴퓨터 네트워크(박기현 저)
<PDU>
PDU는 일반적으로 데이터 통신에서 상위 계층이 전달하는 데이터에 붙이는 제어 정보**(**매칭 프로토콜 계층에 단순히 데이터의 전송의 단계를 넘어서 그것이 의도하는 기능 혹은 서비스를 하도록 전송되는 구조화된 정보)를 뜻하지만, 특정 OSI와 관련된 문맥에서는 그 계층 자체를 의미하기도 한다.
<송신 과정>
송신 측에서는 상위 계층부터 하위 계층으로 순서대로 데이터를 전달한다.
송신 측의 각 계층에서는 상위 층으로부터 받은 데이터에 자신의 계층 프로토콜 처리에 필요한 정보를 '헤더'라는 형태로 추가한다.
<수신 과정>
수신 측에서는 하위 계층에서 상위 계층으로 순서대로 데이터를 전달한다.
수신 측의 각 계층에서는 수신한 데이터를 처리하여 헤더와 상위 계층으로 가는 데이터를 분리한 후, 상위 계층으로 전달한다. 즉 데이터를 복원하는 과정이라고 할 수 있다.
<1계층 물리>
- 데이터를 전기적 흐름에 따라 전송하는 계층
- 전기적, 기계적 특성을 이용해 통신 케이블로 전기적 신호를 전송
- 비트열을 전압의 고저 또는 빛의 점멸로 변환
- 전압의 고저 또는 빛의 점멸을 비트열로 변환
<2계층 데이터링크>
- 직접적으로 연결된 노드 간 통신이 가능하게 하는 역할
- 프레임 단위의 PDU를 MAC주소와 제어 정보를 통해 전송
- 브릿지를 사용해 네트워크와 네트워크를 연결
- MAC주소를 사용
<3계층 네트워크>
- 데이터를 수신처까지 보내는 역할
- 중계 노드를 통하는 경우, 경로 선택의 역할(패킷의 흐름 통제, 상태 메시지 전송)
- 패킷 단위로 전송
- 스위치가 네트워크와 네트워크를 연결해 패킷을 중계
- IP주소를 사용
<4계층 전송>
- 송수신 시스템 간의 물리적 위치를 논리적인 주소와 이름을 이용해 연결하는 방식 및 종료하는 방식이 정의되는 계층
- 즉 커넥션의 확립이나 끊김을 처리
- 통신에서 발생하는 데이터 전송의 신뢰성을 보증하는 역할
- 신뢰성을 보증하기 위해 보낼 데이터를 식별하는 표시와 같은 정보를 포함한 헤더 추가
- End-to-End(종단 간 종단)에 정확한 데이터 전송
- 세그먼트 단위로 전송
- TCP/UDP가 이 계층에 속하는 프로토콜
<5계층 세션>
- 6 표현 계층에서 4 전송 계층으로 진입하기 위해 개념적이고 추상적인 인터페이스를 제공
- 데이터의 효율적인 송수신에 대한 판단과 제어
- 커넥션 확립, 끊김, 데이터의 분량을 설정
- 데이터 전송과 관련된 역할
- 통신장치 간 동기화, 에러 관리
- 논리적 연결 담당
<6계층 표현>
- 응용 계층이 취급하는 정보를 통신에 적합한 데이터 형식으로 만듬
- 기기 고유의 데이터 표현 형식을 네트워크 공통의 형식으로 변환
- 무결성을 책임짐
- 전송 데이터의 인코딩, 디코딩, 암호화를 담당
<7계층 응용>
- 사용자와 가장 밀접한 계층
- 인터페이스 역할
- ex. 전자 메일, 파일 전송 등의 애플리케이션
5. Point to Point, End to End, Hop by Hop
- Point to Point
- 이더넷과 같은 multipoint 네트워크(n≥2)와 대조적으로, 2개의 endpoint만 가질 수 있는 2계층 연결의 일종이다.
End to End, Hop by Hop은 실제 네트워크 연결의 유형이 아니고, 네트워크 기술이 설계되는 원리에 가깝다.
- End to End 네트워킹은 흐름 제어와 오류와 같은 기능들이 모두 중간이 아닌 최종 엔드포인트에서 처리된다.
- Hop by Hop 네트워킹은 경로를 따라 존재하는 각 중간 지점이 흐름 제어를 하고, 인접 노드로 직접 재시도 한다.
Hop by Hop은 각 hop에서 상당한 양의 버퍼링이 필요하고, 결국 연결 상태를 endpoin로 다시 통신할 필요가 있는 등 다양한 문제가 있다. 따라서 4계층 네트워크(전송 계층)는 거의 항상 End to End 원리를 따른다. Hop by Hop은 특별히 금지되는 것은 아니지만, 매우 높은 지연 시간 또는 매우 낮은 신뢰성을 가지는 링크를 가지는 네트워크를 제외하고는 거의 가치가 없다.
6. TCP/IP계층
TCP/IP는 인터넷 프로토콜을 대표하는 용어로 사용되고 있다. TCP/IP는 현재 인터넷에서 커뮤터들이 정보를 주고 받는데 쓰이는 프로토콜의 모음이다.
- 1계층(Netwok access)
- OSI 7 계층의 물리 계층, 데이터 링크 계층에 해당
- 물리적 주소로 MAC주소 사용
- 2계층(Internet)
- OSI 7 계층의 네트워크 계층에 해당
- 통신 노드 간 IP 패킷을 전송하는 라우팅 기능을 담당
- 3계층(Transport)
- OSI 7 계층의 세션 계층, 표현 계층, 응용 계층에 해당
- 응용프로그램을 구현할 때 사용
<이더넷>
- LAN 구간에서 가장 많이 사용되는 네트워킹 방식
- 2 데이터 링크 계층에서 사용되는 프로토콜
- 고속 네트워크를 지원하며, 호환성이 높음
- CSMA/CD
- Carrier Sense Multiple Access/Collision Detection
- Carrier Sense: Frame을 전송하기 전에 네트워크 상에 다른 Frame이 전송되는지 확인(네트워킹 신호가 있는지 감지)
- Multiple Access: 이더넷에 연결된 장비들이 네트워크 상에 Frame이 없을 때 동시에 Frame을 전송하게 되는 경우
- Collision Detection: 복수의 장비가 동시에 Frame을 전송하는 경우 충돌이 일어날 수 있기 때문에, 전송 후 충돌 발생 여부 확인
<ARP; Address Resolution Protocol>
인터넷은 TCP/IP로 통신을 하고 따라서 통신을 하기 위해 IP주소와 MAC주소를 사용한다. 우리가 IP주소를 사용하니까 IP주소만 있으면 모든 통신이 잘 될 것 같지만, 사실 IP주소를 AMC주소로 바꾸는 절차(ARP)를 밟고 있는 거다.
단계
- Broadcast Frame으로 MAC Address찾기
- Unicast Frame으로 IP에 해당하는 MAC Address찾기
*참고
논리적 주소를 물리적 주소로 변환해주는(IP→MAC) ARP와 물리적 주소를 논리적 주소로 변환해주는 RARP는 주소 결정 프로토콜이다.
<IP 주소>
- IP주소 클래스
- 각 클래스는 네트워크 구분자와 호스트 구분자로 구성
- 네트워크 구분자는 처음 비트를 구분자로 사용
- 호스트 구분자는 네트워크 구분자로 할당되지 않은 나머지
- 각 네트워크에서 호스트에 할당하지 못하는 예외적인 호스트 주소가 2개 있다.
- 처음 IP 주소(0.0.0.0): 네트워크 자체를 가리키는 네트워크 주소
- 마지막 IP 주소: 모든 호스트를 뜻하는 브로드캐스트 주소
- 네트워크 당 최대 호스트 개수는, 처음 및 마지막 IP 주소를 제외한 총 개수
- 공인 IP와 사설 IP
- 공인 IP: 전 세계에서 유일하게 쓸 수 있는 IP로 IPv4체계에서 모든 기기에 할당하기에는 부족하다. 인터넷과 같은 공인 환경에 직접 연결이 가능한 주소이고, 인터넷을 하기 위해서는 공인 IP 주소가 필요하며, 이 주소는 ISP 업체로부터 입대를 받아서 사용해야 한다.
- 사설 IP: IP 주소 부족 문제를 해결하기 위해 등작한 네트워크에 속한 사용자들끼리만 인식할 수 있는 임시 IP다. 같은 네트워크를 사용하는 수십, 수백 명의 사람들이 하나의 공인 IP로 인터넷을 사용할 수 있다. 이 주소는 인터넷과 연결되지 않기 때문에(WAN 구간을 연결하는 라우터는 사설 IP주소를 외부로 전송할 수 없다) 다른 환경과 중첩하여 주소 범위를 사용해도 무관하며 ISP업체로부터 임대를 받지 않아도 사용할 수 있다.
- NAT(Network Address Translation)
- 공인 IP와 사설 IP를 서로 변환하여 IP 부족 문제를 해결하고 외부 침입에 대한 보안을 높이는 기술
- IP 패킷의 TCP/UDP 포스의 숫자와 소스 및 목적지의 IP주소 등을 재기록(패킷에 변화가 생김)하면서 라우터를 통해 네트워크 트래픽을 주고받는다
- NAPT(PAT): 원래(NAT)는 IP주소 변환만을 이용하는 기본적인 NAT 방식이었고, IP헤더의 목적지와 출발지 주소만을 변경했다. 그러다가 NAPT방식부터 IP패킷 내부에
- 포트 포워딩: 컴퓨터 네트워크에서 패킷이 라우터나 방화벽 같은 네트워크 게이트웨이를 가로지르는 동안 하나의 IP주소와 포트 번호 결합의 통신 요청을 다른 곳으로 넘겨주는 NAT의 응용이다. 외부에서 사설 아이피로 접속하기 위해 포트를 매칭시키는 방법이다.
포트 포워딩 해보기
- centos httpd 설치
- http 서비스를 방화벽 제외 목록에 등록
- 우분투에서 8888 포트 방화벽에서 제외하기(외부에서 8888 포트로 접근할 거임)
- 포트포워딩(버추얼박스를 사용할 경우, settings - network - adapter - nat - pf - table 등록)
# centOS일 경우
$ sudo yum httpd
$ sudo firewall-cmd --add-service = http
$ sudo ufw allow 8888/tcp
sudo 해도 permission denied 나오면
# sudo 권한 부여하기(centOS)
sudo -s
# sudo 권한 부여하기(ubuntu)
su
- 서브넷 마스크
- 다섯 개의 클래스로 구분되는 IP 주소 체계만으로는 IP 주소를 세분화하여 관리 불가
- 클래스 A, B, C에서 호스트 부분을 다시 서브넷과 호스트로 구분하는 역할
- IP주소에 대한 네트워크 아이디와 호스트 아이디를 구분하기 위해서 사용
- IPv4 32bit에 공통 비트 1을 씌워서 네트워크를 표기하기 때문에 32bit체계
- 맨 앞에서부터 1이 연속된 구간까지를 공통비트로 처리하여 네트워크 아이디로 사용하고, 0으로 끝나는 마지막 구간까지를 공통하지 않는 비트로 처리하여 호스트 아이디로 사용
- VLSM(Variable Length Subnet Mask; 가변 길이 서브넷 마스크)
- VLSM은 Variable Length Subnet Mask(변수 길이 서브넷 마스크)를 의미하며, 여기서 서브넷 설계는 동일한 네트워크에서 둘 이상의 마스크를 사용할 수 있고, 이는 둘 이상의 마스크가 단일 클래스 A, B, C 또는 네트워크의 서로 다른 서브넷에 사용됨을 의미한다.
- 서브넷의 크기가 가변적일 수 있으므로 서브넷의 사용성을 높이는 데 사용된다. 서브넷의 서브넷 프로세스로도 정의된다.
ISP: Internet Server Provider; 인터넷 서비스 제공자
- 인터넷에 액세스하고 사용하기 위한 서비스를 제공하는 조직이다.
- ISP가 일반적으로 제공하는 인터넷 서비스는 인터넷 접속/전송, 도메인 이름 등록, 웹 호스팅, 유즈넷 서비스, 코로케이션 등을 포함한다.
- 일반적으로 인터넷에서 사용 가능한 모든 항목에대한 액세스를 사용자에게 제공하는 액세스 지점 또는 게이트웨이의 역할을 한다.
'DevOps > Network' 카테고리의 다른 글
[네트워크]Transport Layer(전송계층) (0) | 2021.04.28 |
---|---|
[네트워크]네트워크 레이어/NAT/DHCP (0) | 2021.04.25 |
[네트워크]패킷 교환 네트워크에서 지연과 손실 (0) | 2021.04.22 |