Computer Science 59

[컴퓨터네트워크] 12. 응용계층 소개(1)

응용 계층 소개이용자, 혹은 프로그램(프로세스)에게 서비스 제공프로그램을 위한 다양한 네트워크 서비스 제공원격컴퓨터접근, 파일전송, 이메일전송, ...서비스 제공표준(standard) 응용계층 프로토콜(보통 RFC 표준 문서와 절차를 통해서 그 내용을 구현함)비표준(nonstandard, proprietary) 응용계층 프로토콜(개인적인 그룹, 집단에서 자체적으로 구현한 것)응용계층 패러다임Client-server paradigmTraditional paradigmPeer-to-peer paradigmNew paradigmMixed Paradigm 클라이언트-서버 프로그래밍클라이언트는 통신을 시작하고, 요청을 보내는 프로그램서버는 클라이언트의 요청을 서비스하는 응용 프로그램서비스 유형TCPex) 웹, 이..

[컴퓨터네트워크] 11. 전송계층 프로토콜(2)

전송계층 프로토콜(2)TCPTCP에서의 윈도우TCP는 각 방향의 데이터 전송에 2개의 윈도우 사용send windowreceive window하나의 연결에 전체 4개의 윈도우 존재  수신 window수신측이 송신측에서 data를 받으면 close하고,프로세스가 수신측에 있는 data를 pull하면 open이 발생한다흐름 제어 (Flow control)흐름제어는 소비자가 데이터를 이용할 수 있는 속도로 생산자가 데이터를 보내도록 맞추는 것TCP는 흐름제어와 오류제어를 분리TCP 흐름제어 설명에서 오류는 없는 것으로 가정 Example 10.18다음 페이지 예제 10.18은, 수신 윈도우(rwnd)를 잘못 축소시킨 예.파트 a에서 rwnd=12이고, ackNo=206 파트 b에서 송신측은 206-214 패킷..

[컴퓨터네트워크] 10. 전송계층 프로토콜(1)

전송계층 프로토콜(1)전송계층 프로토콜 소개전송계층 프로토콜 서비스UDP비신뢰적 비연결형간단. 효율적 : 에러처리는 응용계층에서 수행TCP신뢰적인 연결지향SCTPUDP와 TCP의 특징을 결합포트번호(Port Numbers)TP 계층 프로토콜은 프로세스간 통신 지원포트 번호는 전송계층에서 종단간 종단간 주소를 지원프로세스를 구분할 때 구분자를 제공해준다다중화/역다중화 지원 참고)0~65535 까지 할당이 가능하다0~1023은 잘 알려진 포트로, 사용하지 않는 것이 좋음UDPUser Datagram ProtocolUDP는 비연결, 비신뢰적 전송 프로토콜최소한의 오버헤드를 가지는 단순 프로토콜User Datagramcf) TCP : segment, UDP : datagramUDP 패킷 (데이터그램)은 8바이트..

[컴퓨터네트워크] 09. 전송계층(2)

전송 계층Go-Back-N 프로토콜(GBN)전송 효율을 높이기 위해서는 Ack를 받기전에 여러 패킷을 보낼 필요가 있다Ack를 받기 전에 미처리 (outstanding) 패킷의 수를 1 이상으로 유지하여 채널을 바쁘게(busy) 함cf) Stop and Wait 프로토콜 : 패킷 1개 주고, 1개 받음       !! Go-Back-N의 경우 Send window 크기가 2^m보다 작아야 한다Example 8.7그림 8.29(다음페이지)는 Go-Back-N의 예를 보여준다.이 예는 순방향 채널이 신뢰할 만하고, 역방향은 그렇지 않은(신뢰적이지 않은) 경우임.데이터 패킷은 유실되지 않은데, 몇몇 ACK는 지연되거나 유실되는 환경이다.이 예는 또한 한꺼번에 확인응답하는 방법은 응답이 늦거나 유실될 경우에 유..

[컴퓨터네트워크] 08. 전송계층(1)

전송계층전송계층 소개Process-to-process 통신 지원Local hostremote host논리 연결(logical connection)을 통해 통신 지원전송계층 서비스에플리케이션 계층에게 서비스 제공네트워크 계층의 서비스 이용    Ex 8.1유닉스에서 well-known 포트는 /etc/services(유닉스, 리눅스) 파일에 저장되어 있다. Grep 명령을 통해 찾는 정보가 있는 라인을 추출할 수 있다.$grep tftp/etc/servicestftp 69/tcptftp 69/udptcp와 udp에서 69번을 사용한다SNMP는 2개(161, 162)의 포트 번호를 다른 용도로 사용한다$grep snmp/etc/servicessnmp161/tcp#Simple Net Mgmt Protosnmp..