Computer Science/CS Knowledge

OSI, TCP/UDP

무니화니 2024. 2. 18. 10:31

OSI (Open Systems Interconnection) 7계층: 컴퓨터와 컴퓨터 사이에 데이터를 주고받는 통신이 일어날 때 (각 컴퓨터를 호스트라고 부름) OSI 계층을 통해서 시각적으로 통신이 일어나는 과정을 파악할 수 있다.

 

1계층 : 물리 계층 (Physical Layer):

하드웨어 전송 기술. 케이블, 리피터, 허브 등의 장비로 이루어짐. 물리적으로 데이터를 전송하는 역할을 함.

2계층: 데이터 링크 계층 (Data Link Layer):

물리 계층을 통해서 데이터가 제대로 도착하지 못하는 오류를 감지하고 제어함. 브릿지나 스위치를 통해서 LAN 카드에 내장된 물리적 주소인 MAC 주소를 가지고 정보를 주고 받는데, 이때 데이터 링크 계층에서 전송되는 데이터의 단위를 '프레임'이라고 함.

3계층: 네트워크 계층 (Network Layer):

여러 개의 서버를 거칠 때 경로를 찾아줌. 라우터가 라우팅, 패킷 분할, 혼잡 제어를 통해서 인터넷이 가능하게끔 해줌. 

IP 패킷, 

4계층: 전송 계층 (Transport Layer):

통신을 활성화하기 위해 신뢰 있는 사용자들끼리 데이터를 주고받게끔 함. 송신자와 수신자를 연결하는 통신서비스 제공.

TCP와 UDP가 있음.

5계층: 세션 계층 (Session Layer):

양 끝단에 응용 프로세스가 통신을 관리하는 방법을 제공. 사용자들을 동기화, 오류 복규 명령을 일괄적으로 다룸.

6계층: 표현 계층 (Presentation Layer):

인코딩과 암호화 동작. 압축 및 데이터 변환.

7계층: 응용 계층 (Application Layer):

응용 프로세스 간 기능을 제공. FTP (File Transfer Protocol), SMTP (Simplet Mail Transfter Protocol), DNS( Domain Name System) 등의 프로토콜이 있음.

 

이 OSI 7계층을 통해서 네트워크에 이슈나 병목 현상이 발생하면 문제 원인을 손 쉽게 파악할 수 있다.

 

 

TCP (Transmission Control Protocol): 보통 IP와 함께 사용되어 TCP/IP라고 함. TCP는 데이터를 전송하는 동안 수신자와 발신자 사이에 연결을 설정, 데이터가 신뢰도 있게 온전히 도착하도록 보장함. TCP에는 데이터 패킷에 고유 식별자와 시퀀스 번호가 할당되는데, 수신자는 이를 통해 패킷에 대해 식별하고, 수신자는 발신자에게 수신 확인을 보내고, 발신자는 그 이후로 다른 패킷을 보낼 수 있다.

TCP 통신이 이루어질 때는 TCP 헤더에 6비트의 컨트롤 플래그가 있다. 긴급, 확인 응답 여부, 통신 개시 및 종료 요청 등이 있다. 이렇게 서로 합의를 주고 받는 행위를 Handshake라고 한다. 연결 신청할 때는 3번, 연결을 종료할때는 4번 Handshake가 일어난다.

 

UDP (User Datagram Protocol): 비연결 방식으로 두 호스트 사이에 연결을 설정하지 않아서, TCP보다 속도가 뛰어남. UDP는 발신자가 수신자에게 데이터 패킷을 보내도, 수신자는 발신자에게 다시 답변하지 않음. 패킷 손실에 대해서 책임지지 않음. 

'Computer Science > CS Knowledge' 카테고리의 다른 글

IP / DNS + CORS  (0) 2024.03.02
Port, URI  (0) 2024.02.19
MVC  (0) 2024.02.15
Cache / Cookie / Session  (0) 2024.02.14
CSR, SSR  (0) 2024.02.14