Computer Network27 [컴퓨터 네트워크] 오류 복구3: Selective_Repeat ARQ Selective-Repeat 오류 세그먼트만 재전송 송신자 ACK가 회신되는 RTT동안 링크에 최대로 송신 윈도우 크기인 Ssize개의 세그먼트를 전송한다. 누적 ACK(accumulative ACK)를 수신하면 송신 윈도우를 누적 ACK 수만큼 이동한다. 비누적 ACK(non-accumulative ACK)를 수신하면 해당 세그먼트의 ACK 수신 사실을 기록한다. 세그먼트 재전송 타이머가 종료될 때까지 ACK가 수신되지 않으면 해당 세그먼트를 재전송한다. 송신 윈도우(send window) 송신 가능한 순서번호 범위 송신 후 버퍼에 유지되어야 할 세그먼트의 범위 누적 ACK(accumulative ACK) 송신 윈도우 내에서 누적적으로 순서 번호가 맞는 ACK 비누적 ACK(non-accumulati.. Computer Network 2022. 10. 9. [컴퓨터 네트워크] 오류 복구2: Go-back-N ARQ 파이프라이닝 ACK가 회신되기 전 RTT동안 링크에 M개의 세그먼트를 전송 장점 링크 효율 제고(Stop-and-Wait보다 M배 높은 효율을 갖는다. Stop-and-Wait는 segment를 보내고 Ack이 올 때까지 기다려 그 시간 동안 링크를 비워둔다. 따라서 링크 효율의 떨어진다. 요구사항 최대 파이프라이닝 세그먼트의 수 M(송신윈도우, send window)보다 큰 순서번호(Sequence Number) 사용 SN필드 m비트: 2m > M (m과 M의 관계는 오류 복구 유형에 따라 결정된다.) 순서번호: [0, 2m-1], mod 2m 오류 복구 유형 Go-back-N ARQ Selective-Repeat ARQ Go-Back-N 오류 세그먼트부터 이후의 모든 세그먼트를 재전송한다. 동작 과정.. Computer Network 2022. 10. 9. [컴퓨터 네트워크] 오류 복구1: Stop-and-wait ARQ 정보 전송 단위 IP, UDP -> 데이터그램(datagram) TCP -> 세그먼트(segment) IP, UDP는 오류 복구 지원을 하지 않는다. 세그먼트 구조 세그먼트 오류 세그먼트 훼손: 훼손된 세그먼트 도착(Checksum으로 확인) 세그먼트 손실: 라우터 / 스위치에 세그먼트 미도착(중간 통신장치의 버퍼 오버플로우) 세그먼트 수신 확인 세그먼트 정상 수신 -> 수신확인(ACK) 세그먼트 회신 훼손 세그먼트 수신 -> 폐기 -> 미수신 세그먼트 미수신 -> 인지 불가 ACK(acknowledgement) 수신자가 데이터 세그먼트의 정상 수신을 확인하기 위해 송신자에게 보내는 특수한 세그먼트 세그먼트 미수신 확인 세그먼트 전송 후 타이머(timer) 개시 타이머 종료까지 ACK 미도착하면 오류 타.. Computer Network 2022. 10. 5. [컴퓨터 네트워크] UDP와 검사합(checksum) UDP 서비스 포트번호 기반의 다중화 서비스 서버: Well-Known Port Well-Known = 잘알려져 있어야한다. -> 누구한테? 클라이언트한테. 클라이언트: Ephemeral Port Ephemeral Port = 임시 포트 비연결형(connectionless) 전송 서비스 통신 소켓 간의 연결 설정이 없다 -> 연결 설정 지연시간을 피할 수 있다.(HandShaking) 소켓 간 연결이 없으므로 데이터를 전송할 때 목적지 정보를 지정해줘야 한다. 데이터그램 실시간 전송 서비스 응용 프로세스로부터 데이터가 송신 소켓에 전달되면, 송신 UDP는 해당 데이터를 포함하는 UDP 데이터그램을 생성한다. 각 데이터그램은 IP를 통해 독립적으로 목적지 UDP 소켓에 전송한다. 응용 인터넷 전화 등 실시.. Computer Network 2022. 10. 5. [컴퓨터 네트워크] 트랜스포트 계층(Transport Layer) 서비스 네트워크 계층 서비스 호스트(Host) 간의 통신 인터넷 호스트 간에 패킷(데이터그램) 전달 ※ 패킷(데이터그램): 인터넷 네트워크 계층에서 전달되는 단위 호스트의 인터넷 통신 장치: NIC(Network Interface Card) 최선형(Best-effort) 서비스 자원이 허락하는 범위 내에서 최적의 통신 서비스 제공 자원이 부족한 경우 지연시간 발생, 패킷 훼손/손실 발생 가능: 비신뢰 서비스(unreliable service) 최선형 서비스와 반대되는 개념으로 보장형(Guaranted) 서비스가 있다. 비연결형(Connectionless) 서비스 패킷 전달 경로가 다를 수 있다. 패킷 도착 순서가 다를 수 있다. IP(Internet Protocol) IP 주소 기반의 패킷(데이터그램) 전달 I.. Computer Network 2022. 10. 5. [컴퓨터 네트워크] DNS(Domain Name System) 도메인명(Domain Name) 인터넷 호스트에 부여되는 문자형의 유일한 이름 -> 주소 계층적인 도메인 관리 구조에 의해 도메인명의 유일성 유지 도메인 관리자가 상위 도메인 관리에게 등록한 후 사용 도메인 구조 최상위 도메인: 7개 일반 도메인: .com, .org, .net, .int, .edu, .gov, .mil 국가 도메인: .kr, .jp, .uk, . . . 중간 도메인: .ac, .gov, .re, .or, . . . 책임 도메인(호스트에 도메인 부여): @@@.ac.kr 호스트 도메인: ###.@@@.ac.kr 계층적 도메인 구조 도메인명 특징 사용자 편리성 IP 주소보다 사용하기 편리하다. 사용자 소속성 IP 주소는 계속 변하지만, 도메인명은 특정 상황이 아니면 변하지 않는다. DNS .. Computer Network 2022. 9. 27. [컴퓨터 네트워크] 이메일과 SMTP 인터넷 이메일 시스템 구조 시스템 구성 요소 User Agent: 사용자 장치에서 메일 작성, 읽기, 관리 기능 수행 Mail Server: 다수 사용자들의 메일박스 관리, 메일 송.수신 제어 SMTP(Simple Mail Transfer Protocol): 메일 전송 프로토콜, Mail Server간 통신을 맡음 이메일 전송 과정 송신자 UA에서 메일 작성 후 메일 서버로 전달 송신자 메일 서버의 출력 메시지 큐(outgoing message queue)에 저장 수신자 메일 서버로 전송 전송 불가시 30분 단위로 재전송 시도, 정해진 기간 동안 전송 불가시 중단 및 송신자에게 통보 수신자 메일 서버의 수신자 메일박스(mailbox)에 저장 수신자 UA에서 메일 서버의 메일박스의 메일 읽기 및 관리 SM.. Computer Network 2022. 9. 27. [컴퓨터 네트워크] 웹과 HTTP(2): 메시지, 쿠키, 캐시 HTTP 메시지 HTTP 요청 메시지 포맷 HTTP Request method: request 메시지를 서버로 보낼 때, 서버로 요청하는 request의 메소드(어떤 서비스를 서버에 요청하는가? ex. 웹 페이지를 업로드할 것인지, 삭제할 것인지 등등) URL: 웹 서버의 어떤 웹 객체를 요청할 것인지에 대한 주소 version: HTTP Protocol의 버전 header lines: 어떤 요청한 서비스를 서버가 어떻게 처리할 것인지 지시하는 부분 body: 어떤 정보를 클라이언트에서 서버로 전달할 때, 그 정보를 담고 있다. ASCII Methods Get: body 정보없이 객체 요청(필요시 URL에 포함시켜 입력 정보 전달) www.somesite.com/animalsearch?monkeys&ba.. Computer Network 2022. 9. 25. [컴퓨터 네트워크] 웹과 HTTP(1): 동작 원리와 지속 비지속 연결 웹 브라우저와 웹 서버 HTTP(Hyper Text Transfer protocol): 클라이언트인 웹 브라우저와 웹 서버 간의 정보를 교환하는 규칙을 정의한 프로토콜 실제 HTTP 정보는 트렌스포트 계층에 TCP connection을 통해서 전송된다. 즉, HTTP는 TCP를 사용해서 TCP 연결을 설정하고 그 연결을 통해 HTTP 메시지를 교환하는 모델이다. 웹 서버(Web Server) 웹 페이지들의 저장소와 요청 처리 소프트웨어 웹 페이지 기본 객체(base object)와 참조 객체(object)들로 구성 기본 객체: HTML file, 페이지 내의 다른 객체를 URL(하이퍼링크)로 참조 참조 객체: HTML file, JPEG image, Java applet, audio file, video.. Computer Network 2022. 9. 25. [컴퓨터 네트워크] 응용 계층 원리(Principles of Application Layer) 네트워크 응용 서비스 네트워크 통신 서비스를 사용/응용하여 최종 사용자에게 제공되는 서비스 네트워크에 연결된 2개 이상의 호스트에서 동작하는 프로그램으로 구현 네트워크 구성 호스트:: 응용 정보(ex, URL, HTML 페이지)를 교환하고 해석하고 처리 스위치(라우터): 네트워크 장치(호스트)를 연결하고 패킷을 교환 패킷 응용 정보를 효율적인 교환을 위해 작은 크기로 나눈 정보 단위 호스트에서 재조립되어(reassembly) 응용 계층에서 처리 네트워크와 네트워크 응용 의미있는 정보를 주고받는 호스트들에서 동작하는 네트워크 응용 스위치는 응용 정보 처리에 관여하지 않는다. 네트워크 응용 구조 분산 네트워크 응용 프로그램이 작동하는 방식 네트워크 응용 구조 유형 클라이언트-서버 구조(Client-serve.. Computer Network 2022. 9. 22. [컴퓨터 네트워크] 네트워크 사이버 공격(Network Attacks) 목적에 따른 분류 Spyware: 민감 정보 탈취 Bot-ware: DDos 공격에 동원되는 좀비 컴퓨터 Ransomware: 정상적 접근 차단 및 금품 요구 Backdoor_ware: 악의적 접근 통로 개설 전파 방식에 따른 분류 바이러스(Virus) 웜(Worm) 트로이목마(Trojan Horse) 바이러스 생물학적 바이러스와 같이 자신을 다른 실체(숙주 - 실행 프로그램, 문서 등)의 특정 위치에 복제하여 감염시킨다. 사용자가 감연된 실체를 실행시킬 때 실행된다. 숙주의 이동 경로를 따라 전파되는 악성 소프트웨어 대표적 바이러스 전파 매개체: 메일 첨부파일 웜(Worm) 숙주 프로그램이나 문서에 포함되지 않고 독립적 프로그램으로 존재한다. 사용자 개입없이 실행된다. 네트워크를 통해 스스로 다른 시스.. Computer Network 2022. 9. 21. [컴퓨터 네트워크] 프로토콜 계층 구조 통신 프로토콜 정의 통신 장치들간에 교환될 메시지의 형식 정의(Syntax) 메시지 교환 순서 정의(Timing) 메시지를 교환할 때 수행해야할 행위를 정의(Semantics) 프로토콜 구조: 계층 구조 계층 구조의 예 웹 브라우저와 웹 서버 사이의 웹 페이지를 안전하고 효과적으로 전달하기 위해 여러 개의 프로토콜들이 사용되고, 이 프로토콜을 정의할 때 계층 구조가 사용되게 된다. 계층 구조의 장점 새로운 프로토콜 정의 용이 특정 통신 기능 또는 서비스 수정 용이 전체 시스템 이해 용이 계층 구조의 단점 최적 시스템 구현의 어려움(프로토콜 단위 사용, 계층 간 서비스 인터페이스 구현) 프로토콜 특정 통신 서비스를 위한 정보 교환 규칙 정의 유사한 통신 서비스를 위해 유사한 프로토콜 다수 정의 가능 물리 .. Computer Network 2022. 9. 18. 이전 1 2 3 다음 728x90