💻CS/Network

[Network] 컴퓨터 네트워크 기본 2

728x90
반응형

www.kocw.net/home/cview.do?mty=p&kemId=1169634

 

컴퓨터네트워크

인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다.

www.kocw.net

[네트워크 2강]

간략한 정리. 

 

 

시작하기 전에 1강의 내용을 복기해보고 넘어가보자. 

 

  • Packet Delay
    • Processing Delay : 라우터에서 패킷을 받아 검사하는데 걸리는 시간
    • Queueing Delay : 이전의 패킷이 들어가있어서 들어가기까지 기다리는 시간 (밀어내기 형태)
    • Transmission Delay : 큐에서 첫 비트부터 마지막 비트가 나가는 순간까지의 시간
    • Propagation Delay : 패킷이 링크에 올라와서 다음 라우터까지 가는 속도

 

라우터가 더 많은 패킷을 들고올 경우 큐에 쌓이고, 큐보다 커져서 넘치게 되면 드랍이 되면서 "패킷 유실"이 일어난다. 

(라우터의 큐에서 패킷 유실이 일어난다.)

( **패킷 스위칭 : 패킷이 다 올라와서 다음 단계로 이동하는 것 )

 

 

  • 네트워크 계층
    • APP  : HTTP
    • Transport  : TCP  UDP
    • Network  : IP
    • Link  : wifi,LTE
    • Physical layer

(상위 계층은 하위 계층의 기능들을 사용할 수 있음)

 

  • 서버 ~ 클라이언트
    • 서버는 permanent한 ip주소를 가지고 있어야 한다.
    • 클라이언트는 상관 없다. (고정X)
    • 서버는 고정되어있어야 찾아갈 수 있기 때문!

결국 네트워크는 클라이언트 프로세스(소켓이라고도 함)와 서버 프로세스 사이의 통신이다. 

IPC(프로세스 사이의 통신)와 다른 부분은, 다른 컴퓨터 상에 있는 프로세스와 통신한다고 생각하면 된다. 

 

또한 소켓의 주소를 알아야 연결할 수 있음.

IP Address(어떤 컴퓨터인지 지칭하는 정보) / Port number(이 중에섯 어떤 프로세스인지)를 조합하여 주소를 완성할 수 있다. 

 

포트가 거의 80으로 사용되고 있는데, 그 이유는 공통 요소로 사용하자고 이야기 된 것이다.

DNS에서는 IP주소로만 변환해주기에 Port가 다 다르다면 더 귀찮아지기 때문에 통일했다고 한다. 

 

  • APP이 필요로 하는 Transport의 서비스
    • data integrity : 데이터가 유실되지 않고 온전히 목적지까지 전달했으면 해.
    • timing : 내가 보낸 패킷이 정해진 시간 범위 내에 도착했으면 해.  "개별시간"  (ex. 음선전화)
    • throughput : 보내는 데이터에 대해 1초에 어느정도 양이 지나갔으면 해.  "양" (ex. 영화 다운로드)
    • security : 내가 보내는 데이터가 안전했으면 해

>> 실제로 트랜스포트(TCP : O / UDP : X)에서는 "Data Integrity"만 서비스해준다. 

나머지 요소들이 필요하면 위에서(APP) 따로 만들어 이용한다.

 

대부분의 웹 서비스들은 거의 TCP를 사용한다.

 

  • HTTP?
    • HTTP (Hypertext Transfer Protocol) : 텍스트인데 중간중간 링크가 있는 텍스트들을 전송하는 프로토콜
    • request와 response로 이루어져있는 단순한 구조이다
      • request : 원하는 하이퍼텍스트 파일 이름 등
      • response : 전달해주는 결과값 
    • request/response하기 전에 TCP connection을 먼저 해줘야 한다. TCP 서비스에 기반하기 때문이다.
    • HTTP는 stateless = 상태가 없다. 요청에만 대응하고 상대방의 상태를 기억하지 않는다.

 

  • TCP Connection의 방법에 따른 두 가지 HTTP 케이스
    • non-persistent HTTP : 메시지를 주고 받고나서 TCP 커넥션을 끊는 경우.
      • TCP 연결 > HTP request > response > TCP Connection 끊기 > 다시 처음으로 가서 반복해야 메시지 주고받을 수 있음
    • persistent HTTP : TCP 커넥션을 끊지 않고 지속적으로 사용하면서 계속 메시지를 주고받는 경우
      • TCP 연결 > request & response > 계속 연결된 상태로 메시지 주고 받음

모든 웹 브라우저에서는 persistent HTTP를 사용한다고 보면 된다! 비효율적으로 일부러 끊을 필요가 없기 때문!

 

 

 

 

728x90
반응형