프로그래밍 농장

TCP / IP 프로토콜 [ Network의 구조 ] 본문

TCP-IP 프로토콜

TCP / IP 프로토콜 [ Network의 구조 ]

Tennessee201 2021. 3. 8.
728x90

인터넷은 수많은 END Devices( PC , Server, samrtphone . . ) 들이 다양한 communication link들로 이루어져있다. 

또한, 그런 communication link를 통해 전달이 된 사용자가 발생시킨 information , data 등을 원거리에 떨어져있는 END 노드에게 전달해줄수있도록 경로를 결정해주고 패킷을 Forwarding , Delivery 해주기위해 패킷 스위치들이 구성이 되어있다. 

Host = End system  --> network apps들을 실행하고있는것이 Host라고 이해할수있다. 

 

노드와 노드간에는 반드시 communication link 가 존재하며 ,

link를 좌우하는 핵심은 transmission rate에 근간한 bandwidth가 된다.( 대역폭에 따라서 전송하는 속도가 다르기떄문 )

 

Packet switch : 아주 멀리떨어져있는 노드와 정보를 교환해야 하기떄문에 중간중간에 네트워크 시스템들이 패킷을 담당할수있어야하고, 이러한 기능을 담당하는것들을 라우터 (router) & 스위치(switch) 라고 한다.  

 


Internet : " network of network "  -> internetworking의 줄임말 ( 네트워크들을 서로 연결하기 위한것 ) 

-> 다양한 서비스 프로그램들이 연결되어있는것 ( 다양한 remote 프로그램들이 많이 연결되어있음 )

 

Protocols : 다양한 정보를 주고받기위한 규칙 ( ex.   TCP / IP / HTTP / Skype / 802.11 ... )

 

Internet standards : 위와 같은 규칙들을 규정하는 기관들이 존재한다 

-> RFC ( request for comments ) / IETF ( Internet Engineering Task Force ) 

 

 

-> Protocol 이란? :   "규칙" 이라고 정의할 수 있다. 

 

Network의 구조  

 -> Network edge : 전체 Network에서 가장 바깥쪽 ( 정보가 전달되고 처리되기위한 app들이 올라가있는 부분 )

->  Access Network : edge device 들이 묶여있는 Local Network ( 집의 공유기 , 스마트폰 , 등을 home network라고 할수있다. )

->  Network core : 위의 다양한 Network (Access) 들을 연결해주기위한 용도이다.  ( 라우터와 같은 스위치로 연결되는 구조가 대부분 ) 

 

Host  :  edge device로써,  packet을 전송하고 받는 역할을 한다.  인터넷의 전송은 packet단위로 쪼개지며, 이는 본인이 속한 Access media link 를 통해서 전송하게된다. 

-> 전송지연값(packet transmission delay) : 내가 보낸 packet이 얼마나 빠른시간 내에 전송되는지에 대한 정의

-> Host가 packet을 전송해서 거쳐가게되는 전송지연값(packet transmission delay)은, 내가 발생시킨 정보의 값은 내가 전송시킨 미디어의 값을 미디어의 전송속도로 나누어주면  산출되는것을 알수있다. 

전송지연값 산출식 

 

Network core : 네트워크와 네트워크들을 연결해주는 역할. ip주소가 정보의 주체.  --> 라우터에서는 목적지의 ip주소만을 보고 packet을 어디로 보낼지 정할수있다. 

 

Packet switching 과 Circuit switching의 차이 

채널에 의한 reservation이 명확한지, cirtcuit switching은 데이터 전송을 하기전에, 회선을 예약하는 과정이 반드시 필요하다.  ( 양 채널의 device가 연결이 끊어질떄까지, 이 채널은 아무도 사용 할 수 없다. )   [ 성능을 보장 ]

[ 전화와 같은 실시간 정보공유서비스 사용시 유용 / 실시간 사용자 외 사용자 x 이기에 사용자가 비교적 적다. ]

-> 사용자의  트래픽을 늘리기 위해서는, circuit의 채널을 무한정으로 만들어야됌. 

 

반면에, circuit switching의 경우 위와같은 reservation의 개념이 없기떄문에, 바로 data를 보내버린다. 

 

인터넷에서 loss와 delay가 발생하는 이유 

input buffer ) 들어오는 양이 나가는 양보다 많을 경우 발생. ( packet arrival rate to link exceeds ouput link capacity )

( packet being transmitted ( delay ) / packet queueing ( delay ) )

 

-> 위 4가지 요인 중, queueing / transmission delay의 값이 대수이다. 

 

 

- Why Layering ?

-> dealing with complex systems : 대용량의 네트워크 시스템을 protocol 을 계층단위로 구분지어서, 수정 및 보완에 용이하도록 한 구조. = Layering 

internet protocol stack 

application layer : 인터넷에서의 기본적이 protocol layer 는, 다양한 application을 수용하기 위한 layer. 

-> API / FTP / SMTP / HTTP 등을 정의 

transport layer : 엔드 - 엔드 까지의 전송에 대한 과정을 제공하는 layer.

-> TCP / UDP 

network layer : 목적지까지의 ip주소(network)를 정의하는 layer. 

-> IP / routing protocol

link layer : 미디어에서의 특성에 맞게끔 재전송등을 정의하는 layer.

-> Ethernet , 802.111(wifi), PPP 

physical : 물리적인 신호를 보낼수 있는 layer.

 

각각의 목적에 따라서 위 layer의 담당을 확인하여 수정해줄수있다. [ layering의 특성 ]

 

위와 같은 layering으로 기능을 나누어 놓았기 떄문에, 각 layer의 기능만을 담당하면 된다. 

 

위 layering의 전신으로는 위 5가지 layering과 추가적으로 presentation / session 두가지가있다. 

< 원래는 7 layer 로 구성되어있었다 > 

 

-> Encapsulation  [ 상위 계층의 layer에서 내려온 정보에 아래층의 정보를 capsuling 하는 과정 ] 상위부터 아래로

-> Decapsulation [ 수신된 정보를 본인의 layer에 추가/수정하는 과정 ]  상위로 

 


 

728x90