UC Berkeley에서 1989년 개발 - csapp 원서 968쪽 참고 : 첫 구현implementation은 Unix 4.2 BSD(Berkeley Software Distribution) kernel에 들어있었다.
네트워크 프로그래밍 개발을 위한 C API 지원
네트워크 프로그래밍 개발을 위한 산업 표준
모든 유닉스와 리눅스 그리고 윈도우에서 채택
소켓은 인터넷과 소프트웨어 사이에 놓여서 소프트웨어를 서로 연결하는 일을 함
프로토콜 Protocol
Protocol is a set of rules that governs how hosts and routers should cooperate when they transfer data from network to network.
What Does an internet Protocol Do?
Provides a naming scheme(host address)
Provides a delivery mechanism(packet, and packet consists of header and payload)
Header: contains info such as packet size, source and destination addresses
Payload: contains data bits sent from source host
영단어
FRAMES : Hosts send bits to any other host in chunks called frames
Ad Hoc : 임시 변통의, 가끔 백준 분류 보면 애드혹 있는데, 정형화된 알고리즘 말고 그 문제에 특화된 알고리즘이란 뜻이므로 어느정도 의미가 일맥상통함
내가 메모 하고 싶은 것들
라우터도 하나의 역할 - 네트워크 간에 중계 - 특화된 컴퓨터다.
우리가 하는 Internet 말고 그냥 라우터가 연결한 네트워크를 internet이라 부름
fd - File descriptor 란 무엇인가? https://en.wikipedia.org/wiki/File_descriptor
컴퓨터 프로그래밍 분야에서 파일 서술자 file descriptor (FD, less frequently fildes) 는 운영체제에서 특정한 파일에 접근하기 위해 시스템이 할당한, 부여한, 반환해준 정수 값, 추상적인 키이다. 이 용어는 일반적으로 POSIX 운영체제에 쓰인다. 시스템이 파일이나 소켓 등을 할당하여 주면 이를 다시 파일 디스크립터에 정수형으로 할당 해놓고 나중에 파일이나 소켓 등에 시스템 콜을 이용하여 액세스를 할 당시에 파일이나 소켓의 이름이 아니라 이것이 저장되어있는 파일 디스크립터의 정수를 이용하여 파일을 지칭해내는 일종의 shortcut이라고 생각하면 좋다.
덧붙여서, Unix philosophy 중 "everything is a file" 을 상기해보자.
여기에 공부 내용 공유해 주시면 감사하겠습니다 ex) 노션 링크, 참조 링크, 등등...
노션
참고링크