개발자 끄적끄적
컴퓨터 네트워크(2023.11.30) 본문
<Transport layer protocol>
- process-to-process communication; addressing; multiplexing and demultiplexing; error, flow, and congestion control
- UDP
- TCP : connection-oriented service using a transition diagram
<Logical connection at the transport layer>
- It provides a process-to-process communication between two application layers,
one at the local host and the other at the remote host
- Legend
- Point-to-point WAN
- LAN switch
- WAN switch
- Router
<Process-to-Process Communication>
- The transport layer is responsible for providing services to the application layer(process);
process-to-process communication
- A process is an application layer entitiy(running program)
- cf) network layer : host-to-host communication
ex) Client <- Internet -> Server
<- Domain of network-layer protocol ->
Processes L4 layer Process
<- Domain of transport-layer protocol ->
->즉, 하나의 서버에서 여러개의 process가 돌아갈 수 있다
<Addressing : Port numbers>
- Port number : Identify the process(process를 구분해주는 주소)
- In TCP/IP protocol suite : 0~65,535(16bits)
(for client's temporary use : > 49,152)
- Daytime client : 지금 몇시냐 라고 물어보면 알려주는 server : 13번(Daytime process의 port number)
- L3 : IP가 Internet 주소
- L4 : TCP, UDP, SMTP, FTP, TELNET, DNS, DHCP...등, protocol을 지정하는 number가 존재
<IP addresses versus port numbers>
- Socket = IP address(Network layer) + port number(Transport layer -> Process주소를 지정) => 하나의 컴퓨터 내에서의 Process가 유일하게 지정
- Network : Destination IP address selects the server -> UDP+header
- Transprot : Destination port number selects the process -> Payload
<ICANN ranges of port number>
- Well-known ports : controlled by ICANN -> 0~1,203 => Application Protocol
- Registered ports : only registered by ICANN -> 1,024~49,151 => 기업체에서 ICANN에서 신청하여 쓴다
- Dynamic ports : used as temporary or private port number -> 49,152~65,535 => 아무나 임시적으로 쓴다
<Socket address>
- Sokcet address = IP address + Port number
- TCP suite needs both the IP address and the port number, at the server and the client, to make a connection
- The socket address(or number) defines the process uniquely(유일하다)
<Encapsulation and decapsulation>
- Client가 Application(Process)에서 'Message'를 보낼 때, Transport layer에서는 Header와 Payload를 만든 Packet을 만들어 Encapsulation한다
- Server가 Transport layer에서 Client가 보낸 Packet을 받고 Header는 떼버리고 Application layer에서 Message를 받는다
<Flow control at the transport layer> - L4 layer
1. Buffers
- Two buffers at the Transport layer of the sender and receiver
- 너무 많이 빨리보내면 Buffer가 생긴다
2. Flow control signal
- From the Transport layer of the receiver to that of the sender
- From the Transport layer of the sender to the application process of the sender
- 천천히 보내달라고 Transport layer이 Application에 Flow control signal을 보낸다
3. Pushing(밀다) - 요청을 안해도 보내는 것
- The sender delivers items whenever(언제든지) they are produced-without a prior request(Client의 요청없이) from the consumer
- Flow control is necessary
- Server(=Producer)에서 data packet을 Client(=Consumer)에게 Client의 요청없이 계속 보내는 것
- Pushing이 많으면 Flow control을 할 수 있다
4. Pulling(당기다) - 요청을 해야 보내는 것
- The producer delivers the item after the consumer has 'requested' them
- There is no need for flow control
- Server(=Producer)에서 data를 달라고 Client에게 요청할 때만 Server가 Client에게 보내준다
5. Since the IP protocol is unreliabel, TCP protocol should provide error control function
- Deteching and discarding corrupted packets
- Keeping track of lost and discard packets and resending them
- Recongnizing duplicate packets and discarding them
- Buffering out-of-order packets until the missing packets arrive
'컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크(2023.12.5) (1) | 2023.12.05 |
---|---|
컴퓨터 네트워크(2023.11.29) (0) | 2023.11.30 |
컴퓨터 네크워크(2023.11.24) (1) | 2023.11.26 |