프로세스는 client(요청) 아니면 server(제공, 늘켜져있음)임
-In the Internet model -> 포트번호가 0-65,535
-Well-Known port number fixed value 0-1,023
-Ephemeral port number -> 랜덤하게 전송
System call을 통해서 프로세스를 사용할 수 있게 해줌
-> 시스템 콜이 제공해주는 것은 socket(구성 – IP주소 + 포트번호)이라고 함
MUX기능 제공
-> 프로세스와 프로세스 간에 전송하는 것
중요
DNS-www._.과 같은 주소들을 IP주소 번호로 바꿔주는 역할을 함
Reliable Service가 무엇인지
-> 신뢰 : 통신, 내가 보낸 데이터를 상대방이 받음, 매커니즘이 어려움
-> 연결, 응답(ACK)
밑에 계층에서 flow, error control을 했는데 왜 또 필요한지?
>> 인터넷 계층이 connectionless이고 unreliable하기 때문에(best-effort delivery)
패킷이 파괴되고 전달이 안 될 수 있음 -> 따라서 오류 발생 시 대책이 추가로 필요함(3계층에서 별다른 조치가 없음)
Unreliable Service가 무엇인지
-> 따로 신경쓰지않음
-> 속도가 빠름
-SYN Flooding Attack -> 마지막 응답을 계속 주지않아 자원의 고갈이나 끝없는 기다림에 빠지게 하는 것
어떤 프로토콜이 저러한 성질을 가지는지
TCP가 왜 Reliable한 것인지?
-> Reliable하기 위해서 무엇을 했는지?
TCP -> Connection-Oriented protocol(연결을 미리 시키는 것, 연결이 되면 튜브같은 통로가 만들어짐(stream)), Reliable Service -> virtual로 연결함
UDP(User Datagram Protocol) -> Connectionless, Unreliable Service -> flow control, error control이 없음, 보내기만 하고 응답은 없음, RIP사용
앞에 헤더들 정보
포트번호
각종 제어
window
window 사이즈가 receive window가 될 수도 있고 flow control일 때
congestion control일 때는 congestion window가 되어서 양을 줄일 수 있는 메커니즘을 활용할 수 있게 만들어진 것이 window size임
TCP -> FTP(21번 포트를 통해 처음 연결하고 20번 포트를 통해 데이터를 주고받음)
Piggybacking – 응답을 보낼 것 뒤에다 붙여서 같이 보내는 것
TCP 구성 -> 크기 6000bytes
-window size -> 받아서 가용할 용량을 알려줌
URG – 긴급할 때 사용
ACK – 응답
PSH – 데이터 보냄
RST – 다시 리셋
SYN – 연결
FIN – 종료
한번 갔다가 오면 응답 한번 더 보내는 것(완전연결) - three way handshake
-half close -> 반만 응답함, 가공중인 데이터가 있을 때 처음에는 ACK만 보내고 가공이 끝나면 ACK와 FIN를 같이 보내는 것(ex. http)
-congestion control
-TCP Connection(흐름제어, flow control)
ex) TCP가하는 일 예시
-Taho TCP -> 시작이 Slow start(혼잡을 가정을 해서 처음을 조심해서 보내는 것 기하급수적으로 커짐) -> 혼잡이 발생하면 처음부터 이전 반까지는 오고 그때부턴 CA(Congestion avoidance)하게 보냄 다시 dup ACK가 지속적으로 오면 다시 처음으로 내려갔다가 안전영역까지 급하게 오고 거기서부터 다시 CA진행
-Reno TCP -> SS로 시작하고 위와 같이 진행하다 dup ACK발생시 FR(Fast recovery)동작
-> 이건 왕창 내려가지 않음
-AIMD(Additive increase, multiplicative decrease)
->높은 곳에서 시작하고 선형적으로 증가, 문제가 생길 시 생긴 곳의 절반만큼 내려와서 다시 시작함
>>TCP에서는 트래픽을 과도하게 안 보내겠다!(혼잡제어)
UDP에서는 -> 혼잡제어를 하지 않지만 그냥 두면 안 됨 -> 라우터에서 drop(cut시킴)기능을 수행함(그래야 네트워크가 안정화됨)
전송계층 – TCP, UDP
네트워크 계층 – IP
'👨💻Computer Science > 컴퓨터네트워크' 카테고리의 다른 글
[네트워크] GET과 POST (0) | 2022.04.11 |
---|---|
[컴퓨터네트워크] 25장 Application layer (0) | 2021.07.24 |
[컴퓨터네트워크] 21장 Network layer: Unicasting Routing (0) | 2021.07.24 |
[컴퓨터네트워크] 20장 Internetworking (0) | 2021.07.24 |
[컴퓨터네트워크] 19장 Network Layer: Logical Addressing (0) | 2021.07.24 |
댓글