오늘은 개발과 커밋 자세히보기

프로그래밍 공부/네트워크 (Network)

[ 네트워크 이론 ] 공부 정리 - 3강. OSI 7계층 중 전송 계층, 네트워크 세션 계층

호크테마 2023. 5. 1. 03:08

* 공부 정리일자 (2022년 3월 14일) 
- 책&강의 : 후니의 쉽게 쓴 시스코 네트워크, 정보통신개론 / 컴퓨터 네트워크 (김삼택 교수님)
- 개인적으로 공부 및 복습하면서 정리한 내용입니다. (사진 제외) 


* 목차
1) OSI 7계층 - 제 4 계층. 전송 계층 (Transpot Layer)
1.1) TCP 
1.2) UDP
1.3) 전송 계층의 프로토콜 – TCP와 UDP 포트 번호

2) 네트워크 계층 
(1) 네트워크 계층의 정의와 기능
(2) IP가 수행하는 작업

2.1) TCP/IP 
2.2) OSI 7계층 - 제 3 계층. 네트워크 계층 (Network Layer)  


1. 복습 (중요 키워드 위주)
* 복습 파트 : 3강. OSI 7계층 중 전송 계층, 네트워크 세션 계층

* OSI 7계층

(1) 전송 계층 (Transport Layer)
* OSI 4계층인 전송계층(Transport Layer)의 기능은 대표적으로
- 흐름 제어, 오류 수정 등을 제공하여 전송 ~ 수신 끝 간의 데이터 전송을 수행한다. (End – to – End Connection)
- 즉, 송신지의 컴퓨터와 수신지의 컴퓨터 사이에 논리적으로 연결을 수행한다. (전송 계층의 흐름 제어 역할.)


- 상세하게, 전송 측 호스트 시스템으로부터 발생되는 데이터를 분할하고, 
  수신 측 호스트 시스템에서는 분할된 데이터를 다시 조립하여 원래의 데이터 스트림 제작한다.

- 데이터 전송 서비스를 제공한다.
- 통신 서비스를 제공함에 있어서, 전송 계층은 가상 회선 (virtual circuits)을 설정, 유지하고 올바르게 종료하게 한다.
- 전송 오류 검출 및 회복과 정보에 대한 흐름 제어 기술을 이용하여 신뢰성 있는 서비스를 제공한다.

- 프로토콜의 예로는 
  TCP (Transmission Control Protocol), 
  UDP (User Datagram Protocol), 
  SPX (Sequenced Packet Exchange) 가 있다.


(2) 전송 계층 (Transport Layer)의 기본 서비스
- 상위 계층의 애플리케이션 데이터를 세그먼트로 분할
- 발신지 수신지 오퍼레이션을 설정
- 한 디바이스에서 다른 디바이스로 세그먼트를 전송

- 슬라이딩 윈도우에 의한 흐름 제어
- 시퀀스 넘버와 수신 확인 기능에 의한 신뢰성 제공


(3) 전송 계층 (Transport Layer)의 흐름 제어 (Flow Control)
- TCP 전송 계층 프로토콜은 
  데이터 세그먼트를 전송할 때 데이터의 신뢰성을 보장할 수 있는데 이를 위한 한 방식이 흐름 제어

- 흐름 제어는 송신 측의 과도 전송에 따른 수신단에서의 버퍼 오버플로우(overflow) 문제를 제거

- 오버플로우 현상은 데이터의 손실을 일으켜서 심각한 문제가 될 수 있음

- 전송 계층 서비스는 
   발신지 호스트와 목적지 간의 안정적인 데이터 전송을 가능케 하기 위해서 
   통신할 양단의 시스템 간에 연결형(connection-oriented) 관계가 이용됨


1.1) 전송 계층의 프로토콜 – TCP (Transmission Control Protocol)
* 전송 계층의 프로토콜 - TCP(Transmission Control Protocol)
- 연결형(connection-oriented) 방식의 전송 계층 프로토콜로써, 안정적인 양방향 데이터 전송을 제공

- TCP는
 1. TCP/IP 프로토콜 스택의 한 부분으로서 연결형 방식으로, 정보의 전송이 시작하기 전에 양단간에 접속이 설정
 2. 메시지를 세그먼트의 형태로 잘게 분할하고 목적지에서 다시 재조립하며, 
    수신이 안 된 것에 대해서는 재전송하며 세그먼트들을 재조립해서 메시지로 복구
 3. 양단의 사용자 애플리케이션 간에 가상 회선(virtual circuit)을 제공한다. 

* TCP를 사용하는 응용 계층의 프로토콜
- File Transfer Protocol (FTP)
- Hypertext Transfer Protocol (HTTP)
- Simple Mail Transfer Protocol (SMTP)
- Domain Name Service (DNS)


1.2) 전송 계층의 프로토콜 – UDP(User Datagram Protocol)

* 전송 계층의 프로토콜 – UDP (User Datagram Protocol)
- TCP/IP 프로토콜 스택내의 비연결형(connectionless) 방식의 전송 프로토콜
- UDP는 간단한 프로토콜로써 수신 확인이나 전송 보장 없이 데이터를 교환
- 오류 처리나 재전송은 상위 계층 프로토콜에 의해서 처리



1.3) 전송 계층의 프로토콜 – TCP와 UDP 포트 번호

* 전송 계층의 프로토콜 – TCP와 UDP 포트 번호
- TCP와 UDP 모두 상위 계층에 정보를 전달하기 위해 포트 번호를 사용
- IP 주소와 포트 번호의 조합을 소켓(socket)이라 부름 
- 포트 번호는 네트워크를 지나는 여러 다른 접속들을 유지 관리하는데 사용
- 애플리케이션 소프트웨어 개발자는 Internet Assigned Numbers Authority (IANA)에 의해 정해진 표준 포트 번호를 사용
- FTP 애플리케이션에 연결되는 접속은, 표준 포트 번호 20 (데이터용)과 21 (제어용)을 사용

* 전송 계층 (Transport Layer)과 응용 계층간의 포트 정보

* 전송 계층 (Transport Layer)과 응용 계층간의 포트 정보


2) 제 3 계층 – 네트워크 계층 (Network Layer) 
(1) 네트워크 계층 (Network Layer)
* OSI 3계층인 네트워크 계층의 기능은 대표적으로
- 데이터가 목적지까지 전달될 수 있도록 최적의 경로를 선택하여 제공 (Path Determination)한다.
 

Path Determination


- 자세하게, 지리적으로 서로 떨어져 있는 네트워크 상에 있는 두 호스트 시스템 간의 연결성을 제공하고, 
  경로 선택 기능을 제공하는 복잡한 계층이다.

- 네트워크 계층은 논리 주소 체계 (logical addressing)에 관여
   프로토콜의 예로는 IP (Internet Protocol), IPX (Internetwork Packet Exchange), AppleTalk 등이 있다.

- 상위 계층 프로토콜들을 구체적인 하부 네트워크로부터 분리하고 네트워크 연결을 관리한다.

- 최적 경로 선정 및 패킷 스위칭 수행한다.
-- IP를 우편배달 시스템(우체국 : 러우터)과 비교하여 생각해 보면 
    편지를 보낼 때 이 편지가 어떻게 수신자에게 전해질 지는 (여러 가지 배달 경로 존재) 중요하지 않고, 
    단지 수신자에게 제대로 전달되는 것만이 중요(라우터 장비로 패킷전달) 하다.

- TCP/IP 인터네트워킹 기능의 중요성 때문에 
   IP는 일반적으로 TCP/IP 모델에서 인터넷 계층 (Internet layer)이라고 기술한다. 

(2) 네트워크 계층 – IP(Internet Protocol) 가 수행하는 작업
- 패킷과 어드레싱 (addressing; 주소 체계) 기법의 정의
  (전송계층의 각 세그먼트(segment)에 IP 주소 등 헤더를 붙여 패킷 생성)

- 인터넷 계층과 네트워크 접속 계층간의 데이터 전송
- 원격 호스트로의 패킷 라우팅
- 신뢰성이 없는 프로토콜 (IP가 오류 검출 및 오류 정정 기능을 수행하지 않는다는 뜻) 
  => 전송 계층의 TCP 프로토콜이 대신하여 신뢰성을 보장


2.1) 제 3 계층 – 네트워크 계층 (Network Layer) 
* 네트워크 계층은 
 데이터가 목적지까지 전달될 수 있도록 최적의 경로를 선택하여 제공 (Path Determination) 

- Data의 전달
- 두 Host 간의 Connection 및 Path Selection을 제공한다.
- Route, Exchange, Relay 
- Packet의 Routing
- Protocol : IP, IPX, Apple Talk


2.2) 제 3 계층 – 네트워크 계층 (Network Layer) 
* Layer 3 – Router 


- Broadcast와 Multicast Frame을 Forward시키지 않는다. 
- 서로 다른 Network를 연결시켜 준다.
- Layer 3에 기반으로 Packet을 Forward한다. (IP address기반)
- Traffic을 Management한다.(Access List)
- Optimal Path에 대한 Routing을 제공한다.

* Type of Data Transmissions

* Type of Data Transmissions


2.3) 네트워크 계층 – TCP/IP 인터넷 계층에서 동작하는 프로토콜
* 네트워크 계층 – TCP/IP 인터넷 계층에서 동작하는 프로토콜
- 시스템 사이에서 파일 전송
- 원격 시스템에 로그인
- 원격 시스템에서 명령 실행
- 원격 시스템에 파일 인쇄
- 원격 사용자에 이메일 전송
- 원격 사용자와 대화식 통신
- 네트워크 관리

- IP 
 1. 비 연결형의 최선형 (best-effort) 패킷 전달 기능을 제공,
 2. 패킷의 내용에는 관여하지 않고, 대신 패킷을 목적지까지 전달하는 방법에만 관여
 
- ICMP (Internet Control Message Protocol) 
-- 컨트롤 및 메시징 기능 제공

- ARP (Address Resolution Protocol) 
-- IP 어드레스가 주어졌을 때 이에 대한 데이터링크 계층 어드레스 (MAC [Media Access Control] 어드레스)를 결정

- RARP (Reverse Address Resolution Protocol) 
-- 데이터링크 계층 어드레스 (MAC 어드레스)가 주어졌을 때 이에 대한 IP 어드레스를 결정