목록네트워크 보안 (7)
브래의 슬기로운 코딩 생활
SOCKADDR_IN 구조체 멤버 sin_family: 타입: short 주소 체계를 지정합니다. 대부분의 경우 AF_INET을 사용하며, IPv4 주소 체계를 나타냅니다. sin_port: 타입: unsigned short 포트 번호를 지정합니다. 네트워크 연결에서 어떤 프로세스와 통신할지를 식별하는 데 사용됩니다. sin_addr: 타입: struct in_addr IP 주소를 저장하는 구조체입니다. struct in_addr는 다시 s_addr이라는 unsigned long 형 멤버를 포함하고 있습니다. sin_zero: 타입: char[8] 구조체의 크기를 맞추기 위한 더미 데이터입니다. 현재는 주로 사용되지 않지만, 예전에는 구조체 크기를 맞추기 위해 필요했습니다. 주소변환 관련 함수 주소체계 ..
TCP 프로그래밍 소켓 생성 및 TCP 클라이언트용 APIs 통신 모델 서버/클라이언트 모델 Server : 서비스 제공자 Client : 서비스 요청자 방식에 따른 서버의 종류 복잡성(서버 vs 클라이언트) - 서버는 일반적으로 클라이언트의 요청에 맞는 서비스를 제공 - 다양한 클라이언트의 요청에 대한 응답을 처리해야 함 - 서버는 클라이언트대비 복잡한 제어와 구조를 가짐 네트워크 프로그래밍 - 원거리 프로세스간 상호 통신을 위한 기법 - 운영체제는 원거리 프로세스간 통신을 위해 소켓(socket)을 지원 네트워크 시험 네트워크 시험 툴 명령어: nc {-options} [hostname] [port] • NC: Net Cat • 네트워크 시험을 위한 도구 – 일반적으로 프로그램 검증 도구(debugg..
네트워크용 기본 API 주소체계 변환 문자열형 주소의 32비트 정수형 주소로 변환 함수: inet_addr() • Dotted-Decimal Notation을 Big-Endian의 32비트 정수형 데이터로 변환하는 함수 인자값 • *cp : 문자열 형태의 IP 주소 값(“xxx.xxx.xxx.xxx”, 길이 ≤ 15) 결과값 • 성공: 4바이트 정수(Big-Endian) • 실패: INADDR_NONE (0xFFFFFFFF) 함수: inet_network() • Dotted-Decimal Notation을 호스트 데이터 형태의 32비트 정수형 데이터로 변환하는 함수 • 네트워크 사용을 위해서는 htonl() 함수 호출이 필요 인자값 • *cp : 문자열 형태의 IP 주소 값(“xxx.xxx.xxx.xxx..
OSI 계층 모델 - 데이터 링크 계층의 오류/흐름 제어 ARQ 종류 - 정지 대기(Stop-and-Wait) ARQ - 연속적(Continuous) ARQ • Go-Back N ARQ • 선택적(Selective) ARQ - 적응적(Adaptive) ARQ 정지 대기(Stop-and-Wait) ARQ - 송신 측은 프레임 1개를 전송 후 수신 성공을 확인하면 다음 프레임을 전송하는 방식 - 수신이 실패하면 직전 프레임을 다시 보냄 • 실패의 확인은 NAK(Negative AcKnowledgement) 수신 또는 ACK(ACKnowledgement) 타임아웃(timeout)으로 판단 - Timeout은 일반적으로 RTT(Round Trip Time) X 1.5 - 오버헤드(Overhead)가 큼 - IB..
OSI 계층 모델 - LAN 망의 범위에 따른 분류 근거리 통신망(LAN: Local Area Network) - 동일 건물이나 지역에 설치된 컴퓨터와 단말기를 유기적으로 결합하는 형태 - 통신에 적합한 지역(최대 수 킬로미터)에서만 사용할 수 있는 제한된 통신망 - 데이터 전송속도가 매우 빠른 통신매체(수 Gbps)로 구성 - 오류 발생률이 낮음 광역 통신망(WAN: Wide Area Network) - 원격지 사이를 연결하는 통신망 - 연결 범위가 보통 10km 이상 - 각 노드의 연결이 점-대-점 접속 방식임 • 인공위성을 이용한 패킷 통신을 제외 LAN 개요 발전 과정 - 1970년대 초 제록스의 PARC에서 시작 이더넷(ethernet)으로 발전 - 1970년대 말부터는 LAN 제품이 본격적..
OSI 계층 모델 - 물리 & 데이터 링크 계층 OSI 7 계층 프로토콜* 계층 구조* - 7개의 계층으로 정의 - 각 계층 간에는 동일한 프로토콜을 사용 각 계층간 데이터 전달 - 최상위 계층(7계층 : 응용 계층)에서 발생한 데이터를 하위 계층으로 차례로 전달 - 처음의 데이터에 각 계층에서 전달받은 헤더(header, PCI: Protocol Control Information) 정보를 추가하여 전달 • 2계층(데이터 링크 계층)에서는 꼬리(trailer)도 함께 추가됨 - 최하위 계층(1계층 : 물리 계층)에 도달 - 수신부에서는 각 계층의 헤더에 해당되는 부분을 벗긴 후 상위 계층으로 전달 물리 계층 Physical Layer - OSI 참조 모델 7계층 중 최하위 계층인 첫 번째 계층(제1계층..
다중화 기술 다중화 다중화 = Multiplexing, 다중화기=MUX(MUltipleXer) 하나의 통신로를 여러 가입자가 동시에 이용하여 통신 전송로 하나에 여러 개의 데이터를 같이 보냄 = 고속전송이 가능 전송로의 이용 효율이 매우 높음 경제적임 - 통신선로 비용 및 공사비 절감 - 유지보수가 용이 종류 - 주파수 분할 다중화(FDM: Frequency Division Multiplexing) - 시분할 다중화(TDM: Time Division Multiplexing) - 코드 분할 다중화(CDM: Code Division Multiplexing) - 직교 주파수 분할 다중 접속(OFDMA: Orthogonal Frequency Division Multiplexing Access) 주파수 분할 다중..