개발자 끄적끄적

컴퓨터 네트워크(2023.11.30) 본문

컴퓨터 네트워크

컴퓨터 네트워크(2023.11.30)

햏치 2023. 12. 1. 00:29

<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