컴퓨터 네트워크: Error Control
·
Computer Science/컴퓨터 네트워크
TCP: Transmission Control Protocol 8. Error Control Error Control TCP는 신뢰할 수 있는 transport layer 프로토콜이다. 즉, TCP로 데이터 스트림을 전송하는 응용 프로그램은 TCP에 의존해 전체 스트림을 반대쪽 끝에 있는 응용 프로그램에 오류 없이 순서대로 전달할 수 있다. TCP의 Error Control(오류 제어)는 checksum, acknowledgment, and time-out의 세 가지 tool을 사용하여 수행된다. 알아두기 ACK에 대한 ACK은 존재하지 않는다. 즉, 내가 보낸 ACK을 상대방이 잘 받았는지 확인하는 ACK은 존재하지 않는다. 데이터는 순서가 잘못된 상태로 도착하여 receiving TCP에 의해 일시적..
컴퓨터 네트워크: Flow Control
·
Computer Science/컴퓨터 네트워크
TCP: Transmission Control Protocol 7. Flow Control Flow Control 생산자가 데이터를 생성하는 속도와 소비자가 데이터를 사용할 수 있는 속도의 균형을 유지. sliding window Send window in TCP Sender는 Receiver가 Ack을 보내면서 알려준 rwnd 값을 통해 상대방 버퍼의 빈 공간을 파악하고, 그 빈 공간만큼을 Send window 사이즈로 정한다. window 사이즈는 Receiver가 한번에 받을 수 있는 데이터의 양이다. 데이터 전송 후, 보낸 데이터는 데이터 전송 오류를 대비하여 여전히 Sending Buffer에 남겨둔다. 상대방이 Ack을 보내 해당 데이터를 잘 받았다는 표시를 하면 해당 데이터를 Sending ..
컴퓨터 네트워크: Windows in TCP
·
Computer Science/컴퓨터 네트워크
TCP: Transmission Control Protocol 6. Windows in TCP stop & wait 방식 데이터 전송할 때마다 잘 받았는지 확인 신뢰성 보장 위한 가장 쉬운 접근 방식 데이터 전송을 화물 트럭으로 비유해 보자. 화물트럭 5대는 서울에서 출발해 부산에 화물을 운반 후 다시 서울로 돌아와 화물이 안전하게 도착했음을 보고해야 한다. stop & wait는 하나의 트럭이 서울-부산을 왕복해서 돌아온 후에 다음 번 트럭이 운행을 시작하는 방식이다. 서울에서 부산까지 왕복으로 10시간이 걸리기 때문에, 트럭 5대가 부산에 화물을 모두 운반하기까지는 50시간이 걸린다. 이는 매우 비효율적이다. 이러한 비효율성을 해결하기 위해 한꺼번에 트럭을 여러 대 보낼 수는 없을까?트럭을 여러 대 ..
컴퓨터 네트워크: State transition diagram
·
Computer Science/컴퓨터 네트워크
TCP: Transmission Control Protocol 3. State transition diagram TCP 연결요청 / 수락 과정 State transition diagram Client / Server 동작 및 상태 설명 (왼: 클라이언트 / 오: 서버) Passive open 수동으로 서버를 열어놓음 [LISTEN] 연결요청 대기, 클라이언트로부터 SYN이 오기를 기다리는 상태 Active open / SYN Active open하기 위해 SYN을 서버에게 전송 [SYN-SENT] SYN을 전송한 뒤 서버로부터 SYN+ACK이 오기를 대기중인 상태 SYN / SYN + ACK 클라이언트로부터 SYN이 오면 클라이언트에게 SYN + ACK을 전송 [SYN-RCVD] 클라이언트로부터 SYN을..
컴퓨터 네트워크: A TCP Connection
·
Computer Science/컴퓨터 네트워크
TCP: Transmission Control Protocol 3. A TCP Connection Connection establishment using three-way handshake data 전송 전 연결 setup 과정. 해당 과정이 끝나야 버퍼가 생성되고 data 전송이 가능하다. 서버는 클라이언트보다 먼저 실행해서 클라이언트의 연결 요청을 대기하고 있어야 한다. 순서 1. 클라이언트는 Control field의 SYN에 1을 셋팅해 연결요청 패킷임을 명시한 뒤 해당 패킷을 서버에게 보내 연결을 요청한다. (seq: 8000- 랜덤 번호. SYN 패킷이 잘 도착했는지 확인하는 역할) 2. 서버는 ACK을 클라이언트에게 전송해 연결요청을 허가(SYN에 대한 응답)한다. 동시에 SYN을 클라이언트..
컴퓨터 네트워크: Segment
·
Computer Science/컴퓨터 네트워크
TCP: Transmission Control Protocol 3. Segment TCP segment format TCP의 헤더 크기는 기본 20byte ~ 60byte이다. 헤더의 크기가 유동적이기 때문에 헤더 안에 어디까지가 헤더이고 어디부터 data인지 표시를 해주어야 한다. 즉, 헤더의 길이를 나타내 주어야 한다. HLEN 4bits 헤더의 길이를 나타낸다. 4bits로는 1111(2) 즉, 10진수로 15까지 표현할 수 있는데, 헤더의 길이는 최대 60byte까지 나타날 수 있기 때문에 이진수로 60을 나타내려면 111100(2) 총 6bits가 필요하다. 따라서 4bits로 60을 나타내기 위해 해당 수에 ÷4를 한다. ex1. HLEN = 60(10) = 111100(2), 111100(2..
컴퓨터 네트워크: TCP Services, TCP Features
·
Computer Science/컴퓨터 네트워크
TCP: Transmission Control Protocol 1. TCP Services TCP/IP protocol suite 해당 그림은 TCP/IP 프로토콜 제품군의 다른 프로토콜에 대한 TCP의 관계를 보여준다. TCP는 애플리케이션 계층과 네트워크 계층 사이에 있으며 애플리케이션 프로그램과 네트워크 운영 사이의 중개자 역할을 한다. TCP는 인터넷 통신에 있어 매우 중요한 역할을 수행한다. IP주소와 Port 번호 우리가 상대방과 전화통화를 하기 위해 상대의 전화번호를 반드시 알고 있어야 한다. 이와 마찬가지로, 인터넷에서 클라이언트가 서버에 접속하기 위해서는 해당 웹페이지의 IP주소와 Port 번호를 반드시 알고 있어야 한다. IP주소는 source to destination을 위해 필요한 ..
컴퓨터 네트워크: Addressing
·
Computer Science/컴퓨터 네트워크
OSI Layer 디바이스 A에서 디바이스 B로 데이터를 전송 각 레이어마다 헤더는 본인 것만 본다. ex) Transport 레이어의 경우 Port Number 헤더만 보고, Network 레이어는 IP 주소 헤더만 본다. Transport 레이어는 IP 주소 헤더에 관여하지 않는다. Layer-to-layer communication: 같은 등급끼리 연락을 주고 받는 것. ex) Transport layer는 문서가 누락되거나 오류가 있을 때 같은 계층인 Transport layer에게 연락을 취해서 데이터의 재전송을 요청한다. Intermediate node(네트워크 연결장비, 라우터)를 지날 때 패킷은 Data link layer에서 hop to hop delivery, Network layer에..
컴퓨터 네트워크: OSI 7-Layer Model (OSI 7 계층 모델)
·
Computer Science/컴퓨터 네트워크
인터넷 TCP/IP 통신 프로토콜(규약, 규범, 약속)을 이용해 정보를 주고받는 컴퓨터 네트워크 네트워크와 네트워크를 연결하는 방법. 네트워크의 네트워크. 컴퓨터를 하나의 통신망 안에 연결하고자 함. Packet Switching Network(목적지 주소 전달 방식) 사용. ↔ Circuit Switching Network(중앙제어 전달 방식) OSI 7-Layer Model OSI Model: Open Systems Interconnection Reference Model 국제표준화기구(ISO)에서 개발 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것 Physical, Data link, Network, Transport, Session, Presentation, Applicati..