본문 바로가기

컴퓨터 네트워크/Computer Networking 정리

CH1 : Computer Networks and the Internet (4)

* 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. *

 

네트워크는 너무너무 복잡하다.

복잡한 시스템을 간단하게 바꾸기 위해선 다음과 같은 과정이 필요하다.

1. 복잡한 시스템을 작고 관리가능한 엔티티로 쪼갠다.

2. 어떤 레이어간의 인터페이스가 잘 정의되어있으면 각 레이어의 세부요소는 독립적으로 디자인, 실행될 수 있다.

3. 각 레이어의 실행측면에서의 세부요소는 다른 레이어와 관계없이 독립적으로 바꾸고 관리가 가능하다.

4. 작고 잘 정의된 엔티티(레이어)는 표준화하기가 쉽다.

 

때문에 네트워크를 초기 구상한 개발자들은 복잡한 네트워크를 몇단계의 레이어로 나누어 관리하기로 하기로 했다.

 

 

각 프로토콜 오브젝트들은 두개의 다른 인터페이스를 가지고 있다.

 

1. 서비스 인터페이스 : 프로토콜을 기능하게 한다.

2. peer-to-peer 인터페이스 : 피어간의 메시지 교환을 담당한다.

 

 

상위레이어의 PDU는 하위레이어의 SDU이다.

 

n-PDU = Header(PCI) + n-SDU

n-PDU = (n-1)-SDU

 

 

 

Service Primitives


 

OSI 7 Layers


Layer1 (Physical Layer) : 어떤 hop(node)로 부터 다음노드까지 각 bits의 movements를 담당한다.

Layer2 (Datalink Layer) : 어떤 hop(node)로 부터 다음노드까지 frames의 movements를 담당한다.

Layer3 (Network Layer) : src host부터 dst host까지 각 packets의 movements를 담당한다.

Layer4 (Transport Layer) : 한 proccess부터 다른 proccess까지의 메시지 movements를 담당한다.

Layer5 (Session Layer) : dialog control과 synchronization을 담당한다.

Layer6 (Presentation Layer) : translation, compression, ecryption을 담당한다.

Layer7 (Application Layer) : 서비스제공을 담당한다.

 

각 레이어의 자세한 설명은 앞으로 할 예정이다.

일단 이런 계층구조가 있다는 것만 알고 넘어가도록 하자.

 

Internet Protocol Stack


Layer 5,6,7을 application(layer 5)로 묶어서 말하기도 한다.

 

 

Encapsulation


하위레이어로부터온 데이터는 인터프리트되지 않은 string of bytes 형식이다.

하위레이어로 데이터를 전달할때마다 각 레이어에 해당하는 header가 붙는다. 이 헤더는 레이어간의 소통을 지원한다.

 

이처럼 레이어 이동 단계를 거치며 헤더가 붙는 과정을 encapsulation, 헤더를 떼어내며 인터프리트하는 과정을 decapsulation이라고 한다.

위 그림에서 switch와 router의 차이가 보인다. switch는 layer2까지만 데이터가 이동하지만 router는 layer3까지 데이터가 이동하는 것을 알 수 있다.

쉽게 생각하면 스위치는 WAN, 라우터는 LAN이다. 즉, 스위치는 로컬로 연결되지만 라우터는 다른 네트워크로 연결되기 때문에 IP정보가 필요하다.

미리 말하자면 layer3(network)에서는 IP를 다루기 때문에 라우터는 layer3까지 데이터가 이동하는 것이다.

 

Network Security


바이러스(Virus) : 어떤 object를 받아들이거나 실행했을 때 자기복제에 의한 감염이 된다.

웜(Worm) : 독자적으로 실행되며 자기복제에 의한 감염이 된다.