Computer Science
-
6.HTTP(HyperText Transfer Protocol), HTTPS(HyperText Transfer Protocol Secure)Computer Science/Network 2021. 9. 7. 15:22
∙HTTP ∘인터넷 상에서 클라이언트와 서버가 자원을 주고받을 때 쓰는 통신 규약 -TCP->HTTP -HTTP는 텍스트 교환이므로 누군가 네트워크에서 신호를 가로채면 내용이 노출되는 보안 이슈가 존재 ∙HTTPS ∘인터넷 상에서 클라이언트와 서버가 자원을 주고받을 때 정보를 암호화하는 SSL 프로토콜을 사용하는 통신 규약 -TCP->SSL->HTTP -HTTPS는 텍스트를 공개키 암호화 방식으로 암호화한다. ➀애플리케이션 서버를 만드는 기업 A는 HTTPS를 적용하기 위해 공개키와 개인키를 만든다. ➁신뢰할 수 있는 CA 기업에게 내 공개키 관리를 계약한다. ➂CA기업은 A의 이름, 공개키, 암호화 방법을 담은 인증서를 만들고 CA 기업 개인키로 암호화해서 준다. ➃A서버는 공개키로 암호화된 HTTPS..
-
5.대칭키(Symmertric Key), 공개키(Public Key)Computer Science/Network 2021. 9. 6. 16:36
∙대칭키 ∘암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘 -동일한 키를 주고받기 때문에 매우 빠르다 -대칭키 전달과정에서 해킹 위험이 있다. ∙공개키 ∘암호화와 복호화에 사용하는 암호키를 분리한 알고리즘 -자신이 가지고 있는 고유한 암호키(비밀키)로만 복호화 할 수 있는 암호키(공개키)를 공개한다. ➀A가 웹 상에 공개된 B의 공개키를 이용해 평문을 암호화하여 B에게 보냄 ➁B는 자신의 비밀키로 복호화한 평문을 확인, A의 공개키로 응답을 암호화하여 A에게 보냄 ➂A는 자신의 비밀키로 암호화된 응답문을 복호화함 -대칭키의 단점을 해결했지만, 암호화하는 키와 복호화하는 키가 서로 다르기 때문에 매우 복잡하다. ∙대칭키와 공개키 혼합 ∘대칭키를 주고받을 때만 공개키 암호화 방식을 사용하고 이후에..
-
4.UDP(User Datagram Protocal)Computer Science/Network 2021. 9. 4. 17:42
∙UDP 통신 ∘신뢰성을 보장해주지는 않지만, TCP보다 데이터 처리가 빠르다. -신뢰성을 보장하지 않아도 돼서 일방적으로 데이터를 발신하는 비연결성 특징을 가진다. -패킷의 용량이 더 적어 송신 속도가 빠르다. -실시간 방송과 온라인 게임에서 주로 사용된다. ∙DNS(Domain Name Service) ∘사람이 기억하기 쉽게 문자로 만들어진 도메인을 컴퓨터가 처리할 수 있는 IP로 바꾸는 서비스 -DNS request는 UDP segment에 들어갈 정도로 작다. -DNS는 53번 port에서 UDP를 사용한다. -DNS 서버 간의 요청을 주고받을 때 사용하는 zone transfer에서는 TCP를 사용한다. -데이터가 512 bytes를 넘거나, 응답을 못 받는 경우 TCP를 사용한다. 출처 링크
-
3.TCP/IP, 흐름제어(Flow Control), 혼잡제어(Congestion Control)Computer Science/Network 2021. 9. 3. 23:31
∙TCP 통신 ∘신뢰성을 보장하는 통신 프로토콜 -서버:socket() -> bind() -> listen() -> accept() -> read/writhe() -> close() (소켓생성) (소켓주소할당) (연결요청대기) (연결허용) (데이터송수신) (연결종료) -클라이언트:socket() -> connect() -> read/write() -> close() (소켓생성) (연결요청) (데이터송수신) (연결종료) ➀LINK 계층: 물리적인 영역의 표준화 ➁IP 계층: 경로를 검색 ➂TCP/UDP 계층: 데이터의 실제 송수신을 담당 ➃애플리케이션 계층: 응용 서비스 수행 ∙흐름제어 ∘수신측의 저장 용량 초과로 발생하는 데이터 손실을 줄이기 위해 송신 데이터 전송량을 조절하는 기법 ○Stop and W..
-
2.TCP 3 way handshake, 4 way handshakeComputer Science/Network 2021. 9. 2. 17:59
∙TCP 3 way handshake ∘정확한 전송을 보장하는 TCP 통신을 위해 연결하는 과정 ➀클라이언트가 서버에게 SYN 패킷을 보낸다. -sequence: x ➁서버가 SYN을 받고, 클라이언트로 받았다는 신호인 ACK와 SYN 패킷을 보낸다. -sequency = y -ACK: x+1 ➂클라이언트가 서버의 ACK, SYN 패킷을 받고, ACK 패킷을 서버로 보낸다. -ACK: y+1 ∙4 way handshake ∘TCP 통신의 연결을 해제하는 과정 ➀클라이언트는 서버에게 연결을 종료한다는 FIN 플래그를 보낸다. ➁서버는 FIN을 받고, 확인했다는 ACK를 클라이언트에게 보낸다. -모든 데이터를 보내기 위해 TIME OUT 상태가 된다. ➂서버는 데이터를 모두 보내고 연결이 종료되었다는 FIN..
-
1.OSI(Open System Interconnection) 7계층Computer Science/Network 2021. 9. 1. 17:02
∙OSI 7계층 ∘통신 접속에서 완료까지의 과정을 7단계로 정의한 국제 통신 표준 규약 -통신 과정을 단계별로 알 수 있고, 문제 발생 시 해당 단계만 수정하면 된다는 장점이 있다. ➀물리(Physical): 데이터를 전기적 신호로 변환해서 주고받는 계층 -리피터, 케이블, 허브 등 ➁데이터링크(Data Link): 물리 계층 송수신 정보를 관리하는 계층 -Mac 주소로 통신한다. -스위치: MAC 주소 테이블을 이용해 해당 프레임을 전송하는 2계층 장비 ➂네트워크(Network): IP 주소를 지정하고 라우터를 통해 이동할 경로를 선택하여 패킷을 송수신하는 계층 -라우터: 수신한 패킷의 정보를 보고 경로를 설정해 전송하는 3계층 장비 ➃전송(Transport): TCP와 UDP 프로토콜을 통해 통신하는..
-
14.파일 시스템Computer Science/Operating System 2021. 8. 29. 14:54
∙파일 시스템 ∘컴퓨터에서 파일이나 자료를 쉽게 CRUD할 수 있도록 유지 및 관리하는 방법 -하드디스크와 메인 메모리 속도차를 줄여준다. -하드디스크 용량을 효율적으로 이용한다. ∙접근 방법 ➀순차 접근(Sequential Access) -연속적으로 파일에 접근하는 방법(=Array) -주로 읽거나 쓸 때 사용 ➁직접 접근(Direct Access) -특별한 순서 없이 파일에 접근하는 방법(=Hash) -검색이 빠르기 때문에 데이터베이스에 활용된다. ➂기타 접근 -직접 접근 파일에 기반하여 색인(index)를 구축 -크기가 큰 파일의 입출력 탐색 방법 ∙디렉터리와 디스크 구조 ➀1단계 디렉터리 -파일들은 서로 유일한 이름을 가진다 ➁2단계 디렉터리 -MFD: Mater File Directory -UF..
-
13.메모리Computer Science/Operating System 2021. 8. 27. 00:20
∙메인 메모리 ∘CPU가 직접 접근할 수 있는 장치, 프로세스가 실행되려면 프로그램이 메모리에 올라와야 한다. -주소가 할당된 일련의 바이트들로 구성되어 있다. -CPU는 레지스터가 지시하는 대로 메모리에 접근하여 다음에 수행할 명령을 가져온다. -명령 수행 시 메모리에 필요한 데이터가 없으면 MMU가 해당 데이터를 우선 가져온다. ∙메모리 관리 장치(MMU)(Memory Management Unit) ∘CPU가 메모리에 접근하는 것을 총 관리하는 하드웨어 -논리 주소를 물리주소로 변환해준다. -CPU와 메인 메모리 속도를 맞추기 위해 캐시가 존재한다. -base와 limit 레지스터를 활용해 메모리를 보호한다. (base