네트워크 계층의 연결형 및 비연결형 서비스

* 데이터그램 네트워크는 네트워크 계층에서 비연결형 서비스 (connectionless service) 만을 제공

* 가상회선 네트워크 (virtual circuit network) 는 네트워크 계층에서 연결형 서비스(connection service) 만을 제공

* 트랜스포트 계층 서비스(TCP,UDP) 와 유사하지만 네트워크 계층 서비스는 다음과 같은 차이

- 호스트 사이의 서비스

- 연결형이나 비연결형 서비스 하나만 제공

- 종단 뿐만 아니라 네트워크 코아의 라우터에서도 구현


가상회선 (Virtual Circuit)

* 가상회선( VC, Virtual Circuit)

- 출발지와 목적지 호스트 간의 경로가 전화망과 같이 동작

* 성능 지향형(performance-wise)

* 출발지와 목적지 경로를 따라 네트워크 동작

- 데이터 전송 전에 각 콜(call) 의 연결 설정, 해제

- 각 패킷은 ( 목적지 호스트 주소가 아닌) VC 식별자(번호) 를 포함하여 전송

- 경로 상의 라우터는 현재 연결에 대한 상태를 유지

- 링크, 라우터 자원(대역폭, 버퍼) 들이 VC에 할당

* 전용자원 (dedicated resources ) = 예측 가능한 서비스(predictable service)



VC 구현(VC Implementation)

* VC의 구성요소

1. 출발지와 목적지 호스트 간의 경로( 일련의 링크들과 라우터들)

2. 경로에 있는 각 링크마다 부여되는 가상번호(VC 번호)

3. 경로 상 각 라우터의 포워딩 테이블 엔트리


* VC 에 속하는 패킷은 헤더 안에 ( 목적지 주소대신) VC 번호를 가짐

* VC 번호는 각 링크에서 변경될 수 있음

- 새 VC 번호는 라우팅 포워딩 테이블에서 얻음


VC 포워딩 테이블

VC 라우터는 현재 연결에 대한 연결 상태 정보를 유지! 



VC 시그널링 프로토콜

* signaling protocol

- vc 설정 및 해제를 위해 메시지를 교환하는 프로토콜

- ATM, 프레임 릴레이 , X.25에서 사용

- 오늘날 인터넷에서는 사용하지 않음


데이터그램 네트워크

* 네트워크 계층에서 콜 설정 이 없음

* 라우터는 종단 간 연결에 대한 상태 정보 필요 없음

-네트워크 수준에서의 " 연결" 개념 없음

* 패킷은 목적지 호스트 주소를 사용하여 전달

- 같은 출발지와 목적지를 갖는 패킷들이 다른 경로를 거칠 수 있음



데이터그램 포워딩 테이블


*32 비트 IP 주소    

- 40억개 이상의 주소

- 만약 라우터 포워딩 테이블이 목적지 주소마다 하나의 엔트리를 갖는다면 아주 큰 테이블이 필요


다음은 네개의 엔트리를 갖도록 나눈것!


*  Longest prefix matching

-목적지 주소의 프리픽스를 테이블 엔트리와 대응



ㅇ VC  와 데이터그램 네트워크 비교

* 인터넷 (datagram)

- 컴퓨터 사이에 데이터를 교환

* 유연한서비스 , 엄격한 타이밍 요구 없음

- 다양한 링크 유형

* 다른 특성

* 통일된 서비스 어려움

- 스마트한 종단 시스템(컴퓨터)

* 복잡한 기능(신뢰적인 데이터 전송, 혼잡제어, 순서대로 전달 등) 은 종단 시스템의 상위 계층(트랜스포트 계층) 에서 구현

* 네트워크 내부는 간단하고, 가장자리는 복잡


* ATM(VC)

- 전화망에서 발전

- 전화 통화

* 엄격한 타이밍, 신뢰성 요구

* 보장된 서비스 필요

- 간단한 종단 시스템

* 전화

* 네트워크 내부는 복잡



chapter goals : 


 * 네트워크 계층 서비스의 원리 이해

- 네트워크 계층 서비스 모델

- fowarding and routing

- 라우터 동작 방식

- 라우팅(경로 선택)

- 브로드캐스트, 멀티캐스트


 * 인터넷에서의 네트워크 계층 구현


outline : 

4.1 개요

4.2 가상회선(virtual circuit) 과 데이터그램 네트워크

4.3 what's inside a router

4.4 IP(internet protocol)

- datagram format

- ipv4 addressing

- ICMP(internet control message protocol)

- ipv6


4.5 라우팅 알고리즘

- link state(링크 상태)

- distance vector(거리 벡터)

- Hierarchical Routing(계층적인 라우팅)


4.6 인터넷에서의 라우팅

- RIP

- OSPF

- BGF

4.7 브로드캐스트와 멀티캐스트 라우팅



네트워크 계층

* 송신 호스트에서 수신 호스트로 패킷을 전달

- 송신 호스트는 트랜스포트 계층에서 세그먼트를 받아 데이터그램을 캡슐화

- 수신 호스트는 데이터그램에서 세그먼트를 추출하여 트랜스포트 계층에 전달

* 모든 호스트와 라우터에 네트워크 계층프로토콜 내장

* 라우터는 입력 링크의 IP 데이터그램의 헤더 필드를 조사하여 출력 링크로 전달


포워딩 : 라우터에 입력 링크에 도착한 패킷을 적절한 출력 링크로 이동

라우팅 : 

- 출발지에서 목적지까지 경로(path) 를 결정

- 라우팅 알고리즘

운전 여행 비유

- 라우팅은 출발지에서 목적지까지 여행을 계획하는 과정

- 포워딩은 한 교차로를 지나가는 과정



라우팅과 포워딩 간의 상호작용


연결 설정(Connection Setup_

* 일부 네트워크 계층에서의 또 다른 주요 기능은 연결 설정

- 인터넷을 제외한 ATM, 프레임 릴레이(frame relay) , X.25

* 데이터그램이 전송되기 전에 두 호스트와 전달되는 라우터들 간에 가상연결(virtual connection) 설정

- 라우터가 포함


* 네트워크와 트랜스포트 계층 연결 서비스

- 네트워크

* 두 호스트 간

* 가상 연결인 경우 전달되는 라우터 포함

- 트랜스포트

* 두 프로세스 간


* 네트워크 서비스 모델

- 송신 호스트와 수신 호스트에서 트랜스포트 계층을 연결하는 채널을 위한 네트워크 서비스 모델은?


* 개별 패킷(data gram) 을 위한 서비스

- 보장된 전달( guaranteed delivery)

- 특정 지연 시간 이내의 보장된 전달(40ms)  

* 패킷 흐름(flow)을 위한 서비스

- 순서화(in-order) 된 패킷 전달

- 보장된 최소 대역폭 (minimum bandwidth)

- 보장된 패킷 간 간격

- 두 개의 패킷 전송 사이의 송신자의 시간 간격이 수신자에서의 시간 간격과 같음(또는 변화가 특정 값보다 크지 않음) 을 보장




application Layer을 5가지 section 에서 논의한다


section 5가지

1.  인터넷에서 제공되는 nature 와 application 의 두가지를 논의한다.

client-server paradigm ,  peer-to-peer paradigm .

2. client-server paradigm의 개념에대해 논의하고, 이 paradigm 이 internet user에게 어떻게 서비스하는지.


3. predefined 거나 standard application  client-server 에 기반한, 유명한 popular applications (웹서핑, 파일 전송, 이메일보내기)


4. concept protocols peer-to-peer 파라다임. chord, pastry,kademlia 또 유명한 application 을 알아볼것이다( protocol 을 사용하는)


5. server 와 client 를 위한 c 언어 프로그램을 작성하는 것을 배울 것이다. 



2.1  INTRODUCTION

application layer 는 사용자에게 서비스를 제공한다. logical connection 을 통해서 communication  을 하는데 . 이것은 두개의 application layers 가 마치 직접연결되 있는것처럼 보이게한다. (logical 한 연결! , physical 이 아니라.) - two way

실상은 많은 devices 와 physical channels 에서 일어난다.


2.1.1 Providing Services

Internet 전에 communication network 는 네트워크 유저에게 service하도록 제공되었다 . 대부분 이 네트워크들은 그러나 한가지 특정한 서비스였다. 예를들면 전화기는 목소리서비스만. 제공 , 이러한 네트워크는 그러나 후에 다른 서비스에도 사용되었다  ( fax같이 몇몇의 hardware 를 추가 )

Internet 은 원래 같은 목적으로 designed 됐다. 그러나 TCP/IP protocol 의 layered approach 는 인터넷을 더 flexible 하게 만들었다.(postal 이나 전화기 네트워크보다). 각 층은 한개 이상의 protocol 에 의해서 만들어졌지만, 새로운 protocol 이 추가되거나 삭제 되었다. 그러나 protocol 이 각 층에 더해진다면 lower layer 에 있는것 중 하나가 사용되고, 제거된다면 higher layer 에서 제공되는 protocol 을 수정해야한다. ( 뭔소리?)


application layer 는 다소 highest layer 로써 다른 레이어와 다르다. 이 layer 의 protocol 은 다른 protocol 에게 서비스를 제공하지 않는다. 단지 transport layer의 protocol 로 부터 service를 받는다. 이것은 protocol 이 application layer에서는 쉽게 삭제 될수 있음을 의미한다.  새로운 프로토콜이 전송 계층에서 제공되는 서비스를 사용하는 한 새로운 프로토콜이 application layer 에 적용될 수 있다는것이다.

application layer 는 단지 internet user 에게 서비스를 제공하는 계층이며, 응용계층의 유연성은 새로운 응용프로토콜이 쉽게 인터넷에 추가될 수 있도록하며, 이것은 internet 의 lifetime 동안 흔하게 일어난다. 인터넷이 생성될때, 몇개의 application protocols 만이 유저가 사용가능했지만, 오늘날은 계속 더해져 왔기 때문에 갯수를 셀 수 가없다.


standard and Nonstandard Protocols

smooth operation 을 제공하기 위해서,  TCP/IP 의 첫 네가지 계층에서 사용되는 protocol은 standardized 되곡 documented 되어야한다. 그들은 WINDOWS 나 UNIX에 내장된 패키지의 부분이 된다. 그러나 application-layer protocol 은 standard 이기도하며 nonstandard 이기도하다.


standard Apllication-Layer Protocols

인터넷상에는 standardized 되고 문서화 된 프로토콜이 몇가지 존재한다. 우리는 그것을 daily interaction 에서 사용한다. 이러한 standard protocol 은 사용자간에 interact 하는 program 과 사용자에게 특정한 서비스를 제공하는 transport layer 의 쌍이다.우리는 이장의 뒷부분에서 standard application 에 대해서 논의한다. 이러한 유형의 application protocols 은 그들이 제공하는 타입이 뭔지 , 어떻게 작동하는지 알아야한다. (이 application 에서 사용할 수 있는 option 도 존재)

이러한 프로토콜의 공부는 네트워크매니저가 이러한 프로토콜을 사용할떄 일어나는 문제점을 더 잘 해결할 수 있도록 한다. 이러한 프로토콜에 깊은 이해는 또한 nonstadard protocol을 생성하는 idea  를 제공한다. 


Nonstadard Application_Layer Protocols

transport layer 와 상호작용함으로써 유저에게 서비스를 제공하는 프로그램을 작성할 수 있다면 nonstard application-layer program 을 작성할 수 있다. 후에 이장에서 우리는 이러한 프로그램을 어떻게 작성하는 지 배울 것이다. 이러한 프로토콜(internet authority 의 찬성을 필요로 하지않는, 사적으로 사용)을 만드는것은 internet 을 더욱 popular 하게 만든다 . private company 는 새로운 customized application protocol 을 만들어 그들의 사무실과 세계와의(앞에 네가지 계층에서 제공되는) 소통을 하도록한다. standard application programs 을 사용하지 않고.  프로그램을 작성하기 위해필요한것은 transport-layer protocols에서 제공되는 능한 서비스를 사용하는 것이다. (computer language 중에 하나로)


2.1.2 Application-Layer Paradigms

internet 을 사용하기 위해서는 두가지 application program (서로 소통하기 위해)  을 필요로한다. (세계의 어떤곳에 있는 컴퓨터의 프로그램과 , 다른 곳에 있는 컴퓨터의 프로그램 간) 두가지 프로그램은 인터넷 인프라스트럭쳐를 통해서 서로간에 메시지 전송을 필요로한다. 그러나 , 우리는 두 프로그램간 어떤 관계인지 생각해본 적이 없다. 두가지 application programs 은 서비스를 요청하고 제공할 수 어야하나 아니면 한가지만 가능해야 하는가?  이 두가지 paradigm 은 인터넷 발생과정동안 발전해왔다. client-server paradigm 과 peer-to-peer paradigm 이다. 우리는 간단하게 이두가지를 여기서 언급하지만 이챕터의 뒷부분에서 자세하게 배울 것이다.


Traditional Paradigm : Client-Server

Traditional paradigm 은 client-server라 불린다. 이것은 몇년 전부터 가장 잘 사용된다. 이 패러다임에서 service 제공자는 server process 라불리는 application program 이다. 이것은 연속적으로 실행중이며 , 다른 application 을 기다린다. (client process 라불림), Internet 을 통하여 연결을 만들고 service 를 요청한다. 평균적으로 특정한 타입의 서비스를 제공하는 서버 프로세스들이 존재하지만, 그러나 많은 서버 프로세스로 부터 서비스를 요청하는 많은 clients 들이 존재한다. 셔벼 프로세스는 반드시 항상 실행중이여야 한다. client process 는 client 가 서비스 받기를 원할 때 시작된다.

client-server paradigm 은 territory internet 에서의 서비스와 비슷하다. 예를들면 전화 연결센터는 서버로 , 전화를 요청하는 구독자는 client 로 여겨진다. directory cent 는 반드시 항상 준비중이여야하고 , 구독자는 잠깐동안 서비스가 필요할때 요청한다.

client-server paradigm은 두 application program 간에 커뮤니케이션이지만, 각 프로그램의 역할은 완전 다르다. 다른말로 , 우리는  client program 을 server 프로그램으로써 사용할 수 없고, 역도 그렇다. 이 장의 뒷부분에서, client-server programming 에 대해서 말할 때, 우리는 각 서비스의 타입으로 작성된 두가지 application program 을 필요로 한다. 한가지 이 패러다임의 문제점은 communication load 의 집중이 서버에게되고 , 이것은 서버는 powerful computer 여야 한다는 것을 의미한다. powerful computer 조차도 많은 고객이 동시에 서버로 연결을 시도한다면 벅차다. 또다른 문제점은 서버제공자는 기꺼이 cost 를 수용하고,  powerful server 를 만들어야한다. 이것은 service 가 서버에게 수입의 형태로 돌아와야한다. 

WWW 나 HTTP FTP SSH Emai 등이 있다. 우리는 이러한protocol 과 applcation 을 이장에 나중에서 의논할것이다.


New paradigm : peer to peer

p2p 라불리는 패러다임이 새로운 application 의 요구에 응답하기 위해 등장했다.  이 패러다임에서는 항상 실행중이고 , client 를 기다리는 서버프로세스 의 필요가 없다. responsibility 는 두 peers 가 공유한다. 인터넷에 연결된 computer 는 서비스 제공도하고 서비스를 받기도 한다. 심지어 보내는것과 동시에 받을 수도 있다.이 패러다임에 딱맞는 영역은 Internet telephony . phone 에 의한 의사소통은 그대신에 peer-to peer 활동이다. ; 계속 실행중이여야하는 party가 존재하지 않는다. 또다른 p2p paradigm 은 몇몇의 인터넷에 연결된 computer 가 서론간에 공유할필요가 있는경우이다. 예를들면 다른 인터넷유저와 공유할수 있는 파일을 가진 인터넷 유지가있다면 서버같은 파일홀더나 서버 프로세스 가 필요 없다.

p2p 는 쉽게 측정가능하고, 비용면에서 효율적이다 ( 비싼서버의 실행과 유지가 필요없어) 그럼에도불구하고, 몇가지 문제가있다. 주된 문제는 보안이다. 이것은 secure communication (분리된 서비스간) 에 보안을 생성하기가 server 에 의해서 제어된것보다 어렵다. 또다른 문제는applicability 이다. 이것은 모든 응용이 이 패러다임을 사용가능한것이 아니다. 예를들면 많지않은 인터넷 유저는 이것을 포함할 준비가 안되었다. 만약( web이 p2p 라면)

bitTorrent, Skype , IPTV internet 전화, 등등이 사용한다. 이것의 응용에대해서 이 장에서나중에 설명하고, 다른 것은 다른 챕터에서 볼것이다.


Mixed Paradigm 

application은 두 가지의 장점을 결합하기도한다. 예를들면, light-load c-s communication 은 peer 의 주소를 찾는데 사용된다. 어드레스를 찾으면 실제 서비스는 p2p 를 이용한다.!


2.2 CLIENT-SERVER PARADIGM

application layer 에서 communication 은 두 proceessr간에 일어난다. cleint 가 요청을 함으로써 communication 을 시작하고 , 서버는 그 요청을 기다리는 또다른 응용 프로그램이다. 서버가 그 요청을 handle 하고, 결과를 준비한 후 결과를 client 에게 보낸다. 이 서버의 정의는 서버는 요청이올때까지 항상실행 중이여야 한다는것이지만, client 는 필요할 때만 실행된다는 것이다. 이것은 우리가 두 컴퓨터를 연결하고 싶다면, 우리는 하나는 client 하나는 server  여야한다. 하지만 우리는 서버프로그램이 client 를 실행하기전에 실행중이여야하는것을 유의해야한다. server 의 lifetime 은 무한한것이다. 항상 실행중이고  client를 기다려야한다.  client 의 lifetime 은 유한하다. 유한개의 요청을 보내고, 응답받고, 멈춘다.


2.2.1 Application Programming Interface

client process는 어떻게 server process 와 통신할까? 컴퓨터 프로그램은 보통 미리정의된 명령어(컴퓨터가 뭘하는지 말하는) 의 셋으로 작성된다. 컴퓨터 언어는 수학적 명령어, 문자열조작 명령어, 입출력 등의 명령어의 집합이다. 우리가 만약 다른 프로세스와 통신할필요가 있다면, 우리는 우리는 TCPIP 의 네가지 하위영역에게 연결을 형성하라는 명령어를 필요로한다(, 데이터를 보내고 받고, 연결을 끊으라는. 이러한 명령어는 보통 Application Programming Interface(API) 라고 한다. interface 는 두 개체간의 명령어의 집합이다. 이 경우, 하나의 개체는 Application layer 의 프로세스고, 또다른 하나는 os 이다(4가지 레이어를 캡슐화하는). 컴퓨터 생산자는 4가지 레이어를 os안에 내장시키고 API 도 포함시켜야한다. 이 방법에서, application player 프로세스는 메시지를 주고받을때 os  와 통신 가능하다. 몇몇의 api는 통신을 위해서 디자인 되었다. 3가지가 자주쓰인다. socket interface, transport layer interface, STREAM 등이다. 이 섹션에서 우리는 간단하게 socket interface 에 대해서만 언급한다. application layer 의 일반적인 개념만 주기 위해서.

socket interface 는 버클리에서 유닉스의 환경의 일부로 사용됐다. 소켓 인터페이스는 application layer 와 os 간의 통신을 제공하는 명령어의 집합이다. 또한 이것은 프로세스와 프로세스 간의 통신도 지원한다. 소켓의 개념은 우리가 이미 프로그래밍 언어로 디자인된 명령어들을 사용할수 있도록 해준다. 예를 들면, 대부분의 컴퓨터언어 에서는 데이터를 소스나 싱크로 부터 읽고 쓸수 있다. (keyboard - source, monitor - sink, file - source or sink). 우리는 같은 명령어를 사용하여 소켓을 읽을수도 소켓으로 쓸 수도 있다. 다른말로 우리는 보내거나 데이터를 송수신하는 방법을 바꾸는 대신 그냥 source sink 를 추가하기만 하면된다. 2.5그림은 소켓과 다른 소스싱크를 비교하는 그림이다.


Sockets

소켓은 터미널이나 파일처럼 생각되지만 그것들처럼 물리적 개념은 아니다. 추상적이다. application lprogram 에서 사용되고 생성되는 자료구조이다.

우리는 application layer 가 관련되는 한, client process 와  server process 간의 통신은 두 소켓간에 통신이다. (두 ends 에서 생성된) . client 는 socket 이 요청을 받고 응답을 주는 개체라고 생각한다. 서버는 소켓이 request를 지니고 , response 를 필요로한다. 만약 두 소켓을 만들었다면, 하나에는 각 end , source 와 destination 의 주소를 정확하게,정의하고, data 를 보내고 받는 이용가능한 명령어를 사용할 수 있다. 나머지는 os 의 책임과 TCP/IP protocol 이다.


Sockets Address

client 와 server 는 two-way communication 이다. 우리는 pair of address  를 필요로한다. local(sender)  and remote(receiver). local address (한방향의) 는 다른방향으로의 remote address 이다. 역으로도 성립. c-s 패러다임에서 통신은 두 소켓간이므로, 우리는 소켓 address 의 쌍이 필요하다. local socket address 와 remote socket address . 하지만, 우리는 소켓주소를 identifiers 라는 용어로 정의한다 

 socket address 는 client 나 server 가 실행중인 컴퓨터에서 정의되어야 한다. 챕터 4에서 논의할건데, 인터넷의 컴퓨터는 유일하게 IP address 로 정의되고, 32비트 정수가 사용된다. 하지만 몇몇의 고객과 서버 프로세스는 한 컴퓨터에서 동시에 실행된다. 이것은 우리가 특정한 클라이언트와 서버를 또다른 식별자로 정의할 필요가 있다는 것이다. chapter3 에서는 application program 은 port 번호로 (16bit) 정의된다. 이것은 소켓주소가 IP address 와 port number 의 조합이어야 한다는 것이다!


socketaddress -  IP address  +  port number

socket 은 end-point 의 통신으로 정의되기 때문에 socket 은 local 과 remote 의 쌍이라고 말할 수 있다.


Example 2.1

우리는 two-level 주소를 찾을 수 있다( telephone communication 에서) . 전화번호는 조직을 정의하고, extension은 조직간에 연결을 정의한다. 전화번호는 IP address (조직을 정의) extension 은 port number 와 유사하다. 특정한 연결을 정의한다.


Finding Socket Address

클라이언트나 서버는 어떻게 socket address  를 찾을까? 상황은 각 site 마다 다르다


server site

서버는 local(server)  remote( client) 의 소켓어드레스를 필요로한다

local socket Address - local socket address 는 os 에 의해서 제공된다. os 는 그 컴퓨터의 ip 주소를 알고있다( server process 가 실행중인) . 그러나, 서버프로세스의 포트넘버는 할당될 필요가 있다. 만약 서버 프로세스가 인터넷 권한자에 의해 정의되언 표준이라면, 포트 넘버는 이미 할당되어 있다. 예를 들면 할당된 포트번호가 http 를 위한거라면 , 80번이다. 이거은 다른 프로세스로 사용될 수 없다. 우리는 잘알려진 포트번호에 대해서 3장에서 언급할 것이다. 만약 서버 프로세스가 표준이 아니라면 서버 프로세스 디자이너는 포트넘버를 고를 수 있다. 지정 된 범위안에. 서버가 실행되면, local socket address는 알게된다.


Remote Socket Address -  이 주소는 connection 을 만드는client 의 소켓 주소이다. 서버가 많은 클라이언트와 연결하기 떄문에 remote socketaddresss를 미리 알수 없다! 서버는 클라이언트가 서버와 연결하고자 할때 찾을 수 있다. 클라이언트 소켓 주소는 요청 패킷에 들어있고 이주소는 remote socket address가 된다. 다른말로 로컬 소켓주소는 고정되고 lifetime동안 사용되지만 , remote socket address 는 다른 client 마다 각각 바뀐다.


client site

client 는 local ( client) 와 remote( server)  socket address 를 필요로한다.


Local socket Address - os 의해 제공된다. ip주소를 알지만 , port number는 프로세스가 통신을 시작해야 할때 할당 받는 16비트 정수이다. 포트넘버는 Inter authority 에 의해서 정의되고, ephemeral(temporary) port number 라 불린다. os는 그러나 새로운 포트넘버가 다른 client process 에서 사용되지는 않는다. 


Remote Socket Address

remote socket address 를 찾는것은 더 힘들다. client process 가 시작하면, 연결하고자하는 서버의 소켓주소를 알아야한다. 우리는 두가지 상황을 가진다.


1. 때때로, client process 를 시작하는 사용자는 server port number 와 서버가 실행중인 컴퓨터의 아이피주소를 안다. 이것은 보통 client 와 server application 을 작성하고, 그것을 실행할 때 이다. 예를들면 이장의 마지막에서 우리는 간단한 client 와 server program  을 이 방식으로 테스트한다. 이 상황에서 프로그래머는 두조각의 정보를 제공한다 client program 을 실행할 때.


2. standard application 이 잘 알려진 포트 번호일 지라도, 대부분의 경우 우리는 IP 주소를 모른다. 이것은 어떤  web page 와 연결할때,   email 을 보낼때, 파일을 다운받을 때 등등이 있다. 이 상황에서 서버는 이름, 서버 프로세스에서 정의된 식별자를 갖는다. 예를 들면 이 식별자가 URLS www.xx.yyy 나 이메일 주소 이다. client process는 이 식별자(name ) 을 server socket address 에 밪게 변환한다. 이 client process는 보통 oprotnumber 를 안다. 잘알려진 것이므로, 그러나 IP address 는 대부분  또다른 client server application (DNS) 를 이용하여 얻는다. 우리는 나중에 DNS 에 대해서 논의한다. 하지만 인터넷에서 directory 처럼 수행된다 는것은 충분히 알고 있다. telephone directory 와 비교해보자. 우리는 누군가의 이름을 알고있다. 그러나 전화번호를 얻고싶다. 따라서 전화번호부를 통해서 번호를 찾는것이다. DNS map 도 서버 이름을 통해서 서버의 ip 주소를 찾는 것이다. 


2.2.2    Using Services of the Transport Layer

process 의 쌍은 internet 사용자, 인간과 프로그램에게 서비스를 제공한다. 그러나 프로세스 쌍은 transport layer 로 부터 제공되는 서비스를 받아야한다. 왜냐하면 application layer 에는 physical communication 이 존재하지 않기 때문에. 우리는 1장에서 간략하게 언급했다. 그리고 3장에서 자세하게 배울 것이다. 3가지 저명한 transport layer protocol 이 TCP/IP 에 있다. UDP, TCP SCTP 이다. 가장 표준 application 은 이 세가지중 하나를 사용하도록 디자인 되었다. 새로운 application을 작성할 때 우리는 어떤 프로토콜을 작성하길 원하는지 결정해야 한다. transport layer protocol 을 선택하는 것은 application process 에 수용성에 엄청난 영향을 미친다. 이 섹션에서 우리는 각 프로토콜에 의해서 제공되는 서비스를 배움으로써 standard application 이 왜 그걸 사용하는지 이해하고, application을 작성할ㄷ 때 어떤것을 써야할지 이해하도록한다.


UDP protocol

UDP 는 connectionless, unreliable,  datagram service 이다. 연결이없는 서비스란 말은 logical connection  이 two ends 간에 존재하지 않는다는걸 의미한다. 각 메세지는 datagram 이라 불리는 독립된 개체닌 패킷으로 캡슐화된다. UDP 는 같은 소스에서 같은싱크로 보내는 데이터들간에 관계를 찾아볼 수 없다. UDP 는 reliable protocol 이 아니다. 이것은 데이터가 손상되었는지 전송중에 체크함에도 불구하고, sender 에게 잃어버린 데이터를 다시 보낼것을 요구하지 않는다. udp는 장점을 지닌다 : 메시지 지향형이다. 이것은 전송될 메시지에 경계를 준다.

우리는 연결없고 비신뢰적인 서비스를 보통서비스와 비교할 수있다( 우체국을 통해) . 두 개체는 몇개의 편지를 교환 할 수있지만 우체국은 그 편지간에 아무런 연관관계를 알 수 없다. 우체국에서는 편지는 separate entity 이다(센더와 리시버간에), 만약 편지를 잃어버리거나 손상된다면, 우체국은 책임을 지지않는다 (최선을 다했음에도). application program 은 UDP 를 사용한다 이경우. 작고 간단한 메시지를 보내거나 , 속도가 신뢰성보다 중요한 응용에서. 예를들면 몇몇의  management와 multimedia applications application 이 잘 맞는다. 


TCP protocol

TCP 는 connection-oriented, reliable, byte-stream service 이다. TCP 는 두개의 end 가 logical connection 을 생성하는것을 요구한다( 몇몇의 connection 생성 패킷을 통해서) . 이 단계는 handshaking 이라하며, 몇개의 parameter (data packets의 size , chunks of data 를 보관할 size of buffer 전체 메시지가 도착할 떄 까지)  를 설립한다. handshaking process 후에, 두 end 는 데이터의 모음을 보낼 수 있다. 양방향으로. 

교환될 바이트에 번호를 부여함 으로 써, 바이트의 연속성이 체크된다. 예를 들면 몇몇의 바이트가 손실되거나 손상되면, 받는사람은 다시 보낼것을 요구한다. 이것은 TCP 를 신뢰성이있는 protocol 로 만든다.TCP 는 또한 flow control 과 congestion constrol 이 가능하다. chapter 3 에서배울것이다. TCP 프로토콜의 문제점은 메시지 지향형이 아니다 . 따라서 교환되는 메시지간에 경계를 넣을 수 없다. 

우리는 연결지향형이고 신뢰성있는 서비스를 전화 회사와 비교할 수 있다. 만약 두 집단이 우체국이아닌 전화를 통해서 통신한다면, 그들은 연결을 한번만들고 말을 어떤 기간동안 통신할 수 있다. 전화서비스는 신뢰할수 있다, 만약에 알아들을수 없는말은 다시 해달라고 할 수 있다.


SCTP protocol

SCTP 는 TCP 와 UDP 의 조합이다. tcp  처럼 scp 는 연결지향형, reliable service 이지만 byte-stream 이아니다. 이것은 message oriented protocol 이다. 게다가 , scup 는 multiple stream service 이다 ( connection 으 여려개 세움으로써)

scpt 는 보통 reliabilty 와 비록 failure 가 일어나더라도 연결이 보장된다. 두개의 장점이 혼합


2.3 STANDARD cline-server applications

인터넷의 생애동안, 몇몇의 서버 고객 프로그램은 발전되왔다. 각 application 마다, 이용가능한 옵션에 대해서 알아야한다. 이러한 앱을 사용하는방법을알고, 각각 다른 서비스를 제공하는 방법에 대해서 알게 되면, 미래에 customize app 을 생성하는데 도움을 준다. 우리는 6가지 표준 앱을배운다. http, www, 을배운다. 왜냐하면 가장 많이 쓰이므로 , 우리는 또한file transfer , electronic mail처럼 high traffic 을 갖는 것을 도입한다. 다음 우리는 원격로그인과 이게 어떻게 성립하는지 설명한다.(ㅅTELNET ,SSH 프로토콜을 사용하여) , 마지막으로 DNS 에 대해서 배우고, 이것은 모든 application program 이 application layer 식별자와 상응하는 호스트 아이피주소를 매핑하는데 사용된다. 몇몇 다른 app DHCP,SNMP는 다른 장에서 배울 것이다.


2.3.1 WORLD WIDE WEB, HTTP

우리는 먼저 WWW 에대해서 배운다. 그리고 HTTP 에대해서 배운다. ( 가장 유명한 c-s application program )


World Wide Web

web의 아이디어는 유럽에 떨어져있는 연구자들 끼리 서로의 연구에 접근하기 위하여 도입되었다. 상업적 web은 1990 년에 시작되었다

오늘날의 web 은  문서(web page) 가 전세계에서 분리되고 서로 링크되어있는 정보들의 저장소 이다. 유명함과 웹의 성장은 두가지 용어와 관계된다.  Distributed  and Linked. Distribution 은 웹을 발전시킨다. 각 웹서버는 새로운 웹페이지에 더해지고, 모든 인터넷 유저에게 알릴 수있다( 서버를 오버로딩 하지않고) , Linking 은 한 웹페이지가 다른 웹페이지(다른서버에 저장된)를 가르킬수 있다는것이다. 웹페이지의 링킹은 hypertext 를 통해서 이어지고 이거ㅅ은 인터넷 도입전에 시작되었다. 이 아이디어는 자동적으로 다른 문서를 검색하는 기계 에서 부터 왔다. 웹은 전자적으로 이 아이디어를 구현하였다. 링크된 문서를 사용자가 링크를 클릭할때 검색되도록 하였다. 오늘날 하이퍼 텍스트는 링크된 텍스트문서를 의미하고,  이건 하이퍼미디어로 바뀌어왔다. 웹페이지는 텍스트 뿐만아니라 이미지, 오디오 , 비디오까지 변화했기떄문

웹의 목적은 링크된 문서를 검색하는것을 뛰어넘는다, 오늘날 웹은 전자쇼핑, 게임도 사용된다, 누군가는 라디오 , 티비, 


Architectur

www는 오늘날 distribute client-server service 이고 client는 브라우저를 사용해 서버가 제공하는 서비스에 접근할 수 있다. 그러나 distributed 된 서비스는 sites 라고 불린다. 각 사이트는 한개 이상의 문서( webpage 를 갖는다. 웹페이지는 그러나 어떤 다른 웹페이지로의 링크를 가진다. 다른말로 웹페이지는 간단하거나 복잡하다. 간단한 웹페이지는 다른 웹페이지로의 링크가 없고, 복잡한 웹페이지는 다른 웹페이지로의 링크가 있다. 웹페이지는 이름과 주소를 갖는 파일이다.


Example 2.2

우리가 다른 텍스트를 참조하는 과학문서를 검색해야하고 , 또 어떤 이미지를 레퍼런스하는 문서를 검색해야 한다고하자. 주요 문서와 이미지는 두개의 다른 파일 ( 같은 사이트) 에 존재한다. 참도된 텍스트는 다른 사이트에 존재한다. 우리는 세개의 다른 파일을 다르므로 우리는 세개의 전체 문서를 보기위해선 세개의 transaction 을 필요로한다. 첫 transaction 은 메인 문서의 파일a 를 복사하고, 이 것은 2번쟤 3번째 파일로의 링크를 갖는다 . 메인 문서가 검색될 때, 사용자는 이미지로의 두번째 트랜잭션을 불러일으킬 수 있다. 만약 사용자가 레퍼런스 된 텍스트의 내용을 볼 필요가 있다면, 세번쨰 파일 을 클릭할 수 있다. A b 가 사이트 1에 있어도, 다른이름과 다른 주소를 갖는다.  ㅈ 




 

 

'학부공부' 카테고리의 다른 글

네트워크 2장 application Layer  (0) 2017.10.20
프언 유원희  (3) 2017.10.17

3장

서론

* Syntax(구문) : 언어의 표현식,문장 그리고 프로그램 단위형식

* Semantics(의미론) : 표현식, 문장, 프로그램 단위에 대한 의미

* syntax 와 semantics 는 언어의 의미를 제공한다.


구문기술의 일반적인 문제 : Terminology (용어들)   


* sentence(문장)  : 언어를 구성하는 알파벳으로 구성된 스트링

* language :  sentence 의 집합

* lexeme(어휘항목)  : 가장 작은 구문단위 -> 식별자, 리터럴, 연산자, 특수어

* token : 어휘항목의 한 부류


언어의 형식적 정의

* Recognizers : 문자열을 읽어서 해당 언어에 속하는지 결정한다.

이에 해당하는 구문분석기는 4장에서 배울 것이다.

* Generators : 생성자의 구조를 비교함으로써 특정 문장의 구문이 올바른지 결정 할 수 있다.


BNF , Contest_Free Grammers

* Context-Free Grammars

- Noam Chomsky 에 의해서 발명됌

- 생성 장치 유형

- Context-free languages 

* Backus_Naur Form 

- syntax of Algol 57기술하기 위해서.

- BNF 는 문맥자유언어와 거의 동일하다. 


BNF Fundamentals

* BNF 는 구문 구조에 대해서 추상화를 사용한다

syntatic variable,  nonterminal symbols, nonterminals 로 불린다.

* Terminals 는 lexmems 나 token 이다.

* LHS 는 nonterminal 을 나타내고 RHS 는 terminal 또는 nonterminal 의 문자열로 이루어진다.


* nonterminal 은 보통 꺽쇄로 표현된다

<ident_list> -> identifier | identifier, <ident_list>

<if_stmt> -> if<logic_expr> then <stmt>


* Grammar : 유한한 규칙들의 모임이라고 할 수 있다.

* start symbol 은 nonterminal 의 특정한 요소이다.


BNF Rules


* abstraction ( nonterminal symbol) 은 1개 이상의 RHS 를 가진다.

<stmt> -> <single_stmt> | begin <stmt_list> end


Describing Lists

* syntatic lists 는 recursion 을 이용해 표현된다.

<ident_list> -> ident | ident,  <ident_list>

*  derivation(유도) 는 일련의 규칙적용을 통해서 생성된다.  start symbol 이라 불리는 문법의 특정 논터미널에서부터 시작되 terminal symbol 로만 이루어진 문장으로 끝난다.


Derivations

* 유도과정에 있는 모든 string을 문장형태( sentential form) 이라고 한다.

* sentence 는 terminal symbol 로만 이루어진 sentential form 이다.

* leftmost derivation은 가장 왼쪾에 우치한 논터미널을대체하는 것이다.

* 유도에서 다른 RHS 규칙을 선택함으로써 언어의 다른 문장을 생성할 수 있다.

* 규칙 선택시 모든 가능한 조합을 선택함으로 써 언어전체를 생성할 수 있다.

* 위 언어는 무한 집합이며 제한 시간에 언어의 모든 문장을 생성할 수 없다.


Parse Tree

* hierachical 한 유도과정

* 모든 중간 노드는 논터미널 기호를 레이블로 가지며 모든 잎 노드는 터미널 기호를 레이블로 가진다. 


Ambiguity in Grammars

* 만약에 sentential form 이 두개이상의 parse tree를 가지는 경우와 필요충분조건이다.  언어 구조가 한개 이상의 파스트리를 가지면 ,그 구조의 의미는 유일하게 결정될 수 없다. 어떤 파서가 모호한 구조를 가지면 설계자가 제공하는 비문법적 정보를 사용할 수도 있다.


unambiguous expression 

* 만약 parse tree 가 연산자 우선순위를 가진다면 ambiguity 를 가지지 않는다. 


Associatively of Operator

* operator associativity  덧셈연산 결합법칙이 성립하지 않을 수도 있다

<expr> -> <expr> + <expr> | const (ambiguous)

<expr> -> <expr> + const + const ( unambiguous)


Extended BNF

*[] 대괄호 : 선택적인 부분을 말한다.

* () 소괄호 : 다중 선택 사항에 관한 것이다., 그룹으로부터 한개의 원소가 선택되어야 할 경우

* {} 중괄호 : 무한정 반복되거나 생략될수 있음을 나타낸다. 0이상의 반복!


BNF  and EBNF

* BNF

<expr> -> <expr> + <term> | <expr> - <term> | <term>

<term> -> <term> * factor | <term> / <factor> | <factor>


* EBNF

<expr> -> <term> { (+ | -) <term> }

<term> -> <factor> { (* | / ) <factor>  }


Recent Variations in EBNF

* Alternative RHS 별도의 줄에 표현한다

* 화살표 대신에 콜론이 사용된다

* 대괄호 선택사항 대신에 opt 작은첨자 사용

* 소괄호 리스트에서 선택사항을 나타내기 위해 oneof 작은첨자를 사용


Static Semantics(정적의미론)

* Nothing to do with meaning

* Context-free grammars 는 프로그래밍 언어의 모든 구문을 표현할 수 없다.

* types of operands in expression 과 같은cumbersome

* non_context-free ( 사용되기 전에 선언되는 변수들)


Attribute Grammars

* 속성문법은 parse tree nodes 에 semantic info 를 준다

* Primary value of AGs

- compiler design

- static Semantics specification


* Definition 어려워...

 속성문법은 다음의 특징들이 첨가된 문법이다.

- 각 문법기호 X 에 속성들의 집함 A(X) 를 연관시킨다.

- 각 rule은 특정 nonterminal 의 속성 값을 정의하는 함수의 집합을 가진다

- attribute consistency 를 체크하기 위한 술어함수를 지닌다.

- X0 -> x1,,, Xn 을 rule이라고 하자.


* 속성값 계산

- 만약 모든 속성이 상속된다면 트리는 top0down 으로 진행된다

- 만약 모든 속성이 합성된다면 잎노드 부터 루트 노드까지 bottom-up 으로 진행된다

- 많은 경우 두가지 모두 사용된다.


Semantics

동적의미론에 대해서 범용적으로 채택되는 표기법이 개발되지 않았다.


Operational Semantics

- 명령어의 의미는 명령어의 실행으로 발생한 컴퓨터의 상태 변화로 표현된다.

- operational semantics 을 high level language 에서 사용하기 위해선 버츄얼머신이 필요하다.

- 하드웨어 pure interpreter 는 너무 비싸다

- 소프트웨어 pure interpreter 도 문제를 지닌다

- 특정 컴퓨터의 특성에 따라서  동작을 이해하기 어렵다

- 단지 동일한 사양을 갖는 컴퓨터에서만 적용가능하다


=> 대안 : complete computer simulation

- 저급언어로 번역해주는 번역기가 필요하다

- 가상 기계를 만든다

=> 사용되는 곳 : language manual , textbook , teaching programming language


Denotational Semantics(표기의미론)

- 가장 엄격하고 널리 알려진 프로그램 의미 기술 방법

- 재귀 함수 이론에 견고하게 기반하고 있다.


* 표기의미론의 절차

- 수학적 객체와 그요소의 사례를 수학적 객체의 사례로 사상하는 함수를 정의

- 언어의 의미구성은 오직 프로그램의 변수값에 의해서 정의된다


program 의 상태는 모든 현재의 변수값이다.

s = {<i1,v1> , <i2,v2> , ... , <in,vn> }

VARMAP 을 변수이름과 상태를 입력받았을때 현재 그 변수값을 리턴하는 함수라고 정의하자


<dec_num> ->   '0' | '1' | '2' | '3' | '4' | '5' | 

              '6' | '7' | '8' | '9' | 

              <dec_num> ('0' | '1' | '2' | '3' |

                         '4' | '5' | '6' | '7' | 

                         '8' | '9')

Mdec('0') = 0,  Mdec ('1') = 1, …,  Mdec ('9') = 9

Mdec (<dec_num> '0') = 10 * Mdec (<dec_num>)

Mdec (<dec_num> '1’) = 10 * Mdec (<dec_num>) + 1

Mdec (<dec_num> '9') = 10 * Mdec (<dec_num>) + 9


( 재귀적인 성질이 강함)


* 표기의미론에 대한 평가

- 프로그램의 correctness 를 증명할 수 있다.

- 프로그램을 엄밀한 방법으로 생각할 수 있다

- 언어 디자인에 도움을 준다

- compiler 생성 시스템에 사용된다.

- 그것의 복잡성 떄문에 언어사용자들은 잘 쓰지 않는다



Axiomatic Semantics(공리 의미론)

* 수학 논리에 기반한다

* 공리적 의미론에서 사용되는 논리식을 술어 또는 단언이라고 한다.

* 이러한 단언들을 각각 그 문장에 대한 전조건과 후조건이라 부른다.


* 최약전조건 : 후조건의 유효성을 보장하는 최소로 제약된 전조건이다.

* 프로그램의 증명은 프로그램의 마지막 문장에 대한 후조건으로 사용하는 것으로 시작된다.

* 추론규칙은 한 단언의 참 값을 다른 단언들의 값에 기반하여 추론하는 방법이다.

상단부분을 조건부, 하단부분을 결론부라고 할 때 위부분이 참이면 결론부가 참임을 추론할 수 있다고 한다.

* 공리 : 참이라고 가정되는 논리문장이다. 따라서 조건부가 없는 추론 규칙이다.




예상문제


1. 프로그래밍 언어를 학습하는 이유를 5가지만 서술하시오

- 생각을 표현할 수 있는 능력이 향상된다

- 적합한 언어를 선택할 수 있는 배경이 향상된다.

- 새로운 언어를 배울 수 있는 능력이 향상된다.

- 구현의 중요성에 대해서 보다 많이 이해한다.

- 전반적으로 전자계산 분야의 이해가 향상된다.


1-1. 프로그래밍 언어 평가 기준은 서로 상충되는 평가기준이 있다. 4가 지 예를 들어 설명하시오(20).


판독성 : 얼마나 쉽게 읽고 이해할 수 있느냐

작성력 : 선택된 문제 영역에 대해 프로그램을 생성하는 데 언어가 얼마나 쉽게 사용될 수 있느냐

신뢰성 : 모든 조건 하에서 주어진 명세에 따라 수행한다면 신뢰적이라고 한다.

비용 : 프로그래머 교육비용, 작성비용, 컴파일비용,실행비용,구현시스템비용,신뢰성부족에따른비용,유지보수비용


상충되는평가기준

신뢰성과 실행비용

판독성과 작성력

유연성과 신뢰성

작성력과 신뢰성


1-2. 직교성의 의미, 프로그래밍 언어에 미치는 영향

적은개 수의 기본 구조들이 적은 개수의 방법으로 조합되어 언어의 제어 구조와 데이터 구조가 생성될 수 있다는것.

직교적이면 더 적은 예외사항을 갖는다. 따라서 더 높은 정규성을 의미한다.

지나치게 높은 직교성은 불필요한 복잡성을 초래할 수 있다.


1-3. 프로그래밍 언어 구현방법중 혼합형 구현 시스템에 대하여 설명

컴파일러와 순수 인터프리터 간의 절충이다. 즉, 고급 언어 프로그램을 용이한 해석이 가능하도록 설계된 중간 언어로 번역한다. 이 방법은 원시 언어 문장이 단지 한 번만 해석되기 때문에 순수해석보다 더 빠르다. 이런 구현을 혼합형 구현 시스템이라 부른다.


2. Algol 60의 가장 중요한 개발 사항을 4가지를 서술하라

- 블록 구조 개념이 도입되었다.

- 부프로그램에 매개변수를 전달하는 두 개의 다른 방법이 허용되었다.

- 프로시저는 재귀적일 수 있게 허용되었다.

- 스택-동적 배열이 허용되었다. 

 

2-1.C++는 초기에 클래스를 가진 C라고 불리어 졌다. C++의 초기 목적 은 무엇인가? 간단히 서술하시오(10)

- 클래스와 상속을 사용하여 조직될 수 있듯이 조직될 수 있는 언어를 제공하는것

- 중요한 목적은 C 와 비교해서 성능 저하가 거의 또는 전혀 없어야 한다는 것

- C가 사용될 수 있는 모든 응용에 대해서 사용될 수 있어야 한다는 것


2-2. 별칭의 3가지 예를 쓰시오

- buffer overflow

- pointers

- foreach loop 문에서 사용되기도 한다.


2-3. smalltalk 에 대해서 서술하시오. 

- smalltalk 은 객체지향 프로그래밍을 완전히 지원하는 첫 번째 프로그래밍 언어이다. 

- smalltalk 은 그래픽 사용자 인터페이스와 객체-지향 프로그래밍을 발전시켰다.

- 데이터 추상화, 상속,다이나믹 바인딩 등이 사용된다.


3. 다음 각문장과 후조건에 대해서 최약 전조건을 계산하라(20).

1.  a = 2 * ( b - 1) { a > 0} 

2*(b-1) > 0

{b > 1}  이 최약 전조건이다.

 

2. b = b + 2 * a - 1{b > 1}

b+ 2*a -1 > 1

{b > 2*a+2} 이 최약 전조건이다.


3. a = 2 * b + 1; b = a - 3 {b < 0}

a-3 < 0

a < 3 이 첫번째 배정문의 후조건이 된다.

2*b+1 < 3

{b < 1}이 최약 전조건이다.


4. 
if( x > 0) then y = y + 1 else y = y-1 { y > 0} 

then 절의 논리문에서 y +1 > 0 으로부터 y > -1 을 생성한다.

else 에 동일한 공리를 적용하여y > 1 을 생성한다. 

{y >1} => {y>-1} 이 성립하기 때문에 {y>1}  을 전조건으로 사용할수 있다.



3-1.  다음 배정문과 후조건에 대하여 각각 최약 전조건(weakest precondition)을 구하시오(20).

1. a := (b + 5) / 2 { a > 6 }

b+5 > 12

{b > 7} 이 최약 전조건이 된다.


2. a := 3 * ( 2 * b + a ) { a < 6 }

{2*b + a < 2} 이 최약전조건이 된다.


3. a := 2 * b +1; b = a 
3 {b < 0}

a<3  이 첫번째 논리문의 후조건이 된다.

2*b +1 < 3 이므로 {b<1} 이 최약 전조건이 된다.


4. 
if (x > 0 ) y := y - 1 else y := y + 1 {y > 0} 

then 절의 논리문에서 후조건 {y>0} 을 이용해 y>1 의 단언을 생성한다.

else 절의 논리문에서 후조건 {y>0} 을 이용해 y>-1 의 단언을 생성한다.

y>-1 => y>1 이므로 {y>1} 이 전조건이 된다. 


3-2. 

 1) 일반

  y = (x-5) / 2 {y < 6}

x-5 < 12

{x < 17} 이 최약 전조건이 된다.


 2) 순차

  a = 3 * (2b + a)

  b = 2 * a - 1

{b<5}

{a < 3}  이 첫번쨰 논리문의 후조건이 된다.

{2b+a < 1} 이 최약 전조건이다.


 3) if절(imply)

  if(x>0)

y = y+1

  else

y = y-1 {y > 0}

then 절의 논리문에서 후조건 {y>0} 을 이용해 y>1 의 단언을 생성한다.

else 절의 논리문에서 후조건 {y>0} 을 이용해 y>-1 의 단언을 생성한다.

y>-1 => y>1 이므로 {y>1} 이 전조건이 된다. 




 4) while절(loop불변자이용)

 while(y<>x)(y=y+1) {y = x}








3-3 . {s>1} while(s>1){s *=2 }{s=1} 책에 나와있는 문제. 이 프로그램이 옳음을 보이시오.





3-4. 문법이 주어지고 모호함을 보이시오. 모호함을 해결하시오. 

<assign> -> <id> = <expr>

<id> -> A|B|C

<expr> -> <expr> + <expr>

| <expr> * <expr>

| (<expr>)

|<id>


단순 배정문에 대한 모호한 문법

A = B + C * A

 두개의 다른 파스 트리로 표현된다.

따라서 이 모호함을 해결해보자!

<assign> -> <id> = <expr>

<id> -> A|B|C

<expr> -> <expr> + <term> | <term>

<term> -> <term> * <factor> | <factor>

<factor> -> (<expr>) | <id>


이렇게 만들고 최우단유도나 최좌단유도가 모두 같은 파스트리를 만드는것을 보이면 된다.





4. 다음 프로그램이 정확하다는 것을 증명하시오(10). { x = A AND y = B}

t = x;
x = y;

y = t; {x=BANDy= A}


5. 아래에 주어진 문법에 대하여 답하시오(20).

r1. E-> E + T r3. T-> T / F r5. F->(E)

r2. E-> T r4. T->F r6. F->id

1 id / id + id의 최좌단 유도(leftmost derivation)와 최우단 유도(rightmost derivation)을 구하시오.

2 다음 LR 파싱 테이블을 사용하여 id / id + id에 대한 LR 파싱 과정을 보이시오. 







5-1.





'학부공부' 카테고리의 다른 글

네트워크 2장 application Layer  (0) 2017.10.20
프언 유원희  (3) 2017.10.17
  1. 자손9319 2017.10.18 06:05 신고

    와... 프언을 공부하네 실화냐

    • ryul 2017.10.18 13:43

      ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ뭐야 어캐알았지

  2. ㅁㅁㅁㅁ 2018.11.12 16:28

    문제 출처가 어딘가요?

빛에너지

는 중요하다. 생명체에서 지닌 중요성을 설명할수 있다.

화학에너지를 만들 수 있다!


빛에너지 : 태양에서 나오는 빛에너지는 모든 에너지의 근원으로서 열에너지나 화학 에너지, 운동 에너지 등으로 전환 될 수 있다.

살아있는 세포는 외부에서 에너지를 얻는다.


사람이 빛에 노출된다고 생명활동에 얻을 수 있는 에너지를 만들 수는 없다.



개념 1 : 광합성

* 광합성을 통하여 유기물을 만든다. ( 광을 이용해서 유기물을 만든다)

* 유기물 ?

-  탄소를 포함하는 물질 

- 생체를 이루며, 생체 안에서 생명력에 의하여 만들어지는 물질.


=> 탄소화합물.(포도당 Glucose) 


* 광합성은 빛에너지를 화학에너지로 바꾼다

- 생명은 광합성에 의존한다.

a. 광합성은 이산화탄소와 물로부터 (포도당,산소 ) 을 만든다.

b. 광합성의 진화가 지구를 변화시켰다.


- 햇빛이 광합성의 에너지원이다.

a. 엽록체의 색소분자가 빛에너지를 포획한다.


개념2 : 엽록체

* 세포안에 들어있다. ( 태양전지를 생각할 수 있다)


* 광합성 세포는 광학성에 필요한 효소 등을 지닌 구조(즉 , 엽록체) 를 지닌다.

틸라코이드 동전들 이싸여서 그라나가 되고 그 외 부분이 스트로마 이다.

막이 두개 외막과 내막이 있다.


* 엽록체는 엽록소를 지닌다.

* 엽록소는 틸라코이드 막에 있다.

* 틸라코이드는 차곡차곡 쌓여서 그라나를 이룬다.

* 그라나가 없는부분을 스토로마라고 한다.


식물 -> 잎 -> 세포 -> 엽록체 - > 그라나 -> 틸라코이드 -> 엽록소



개념 3: 캘빈회로

빛을 포획해서 만드는 것이 ATP, NADPH ( 둘다 에너지를 가짐)

이 에너지는 포도당을 만들기 위해서 사용된다. 이 과정을 캘빈회로 라고 한다.

이 캘빈회로를 만들기위해선 CO2 가 필요하다 ( 공기중) 이걸 잡아와 포도당에 넣는걸 캘빈회로라고한다.


캘빈회로  : 포도당만들기 ( 탄소 6) 탄소가필요하다 . 이 탄소를 공기중에 이산화탄소에서 가져온다. 

용어설명

리불로오스 이인산

CO2

3- 인산글리세르산

1,3 - 이인산글리세르산

글리세르알데하이드 3인산

루비스코


탄소 고정

환원 : 원래 있던것을 원시시키는것, 어떤물질의 에너지를 plus 하는 것.

X +  전자 나 X + 수소 면 X 에 비해서 환원된 상태라고 한다.

(에너지를 더 갖게 되는 것!)


모든 용어를 기억할 필요는 없을 것이다. 목적은 탄소를 가져와 포도당을 만드는 것이다. 


캘빈회로 등장인물을 다 외울필요는 없고!

1. 루비스코가 하는 일 : 탄소 5개짜리분자를 탄소6 개로 만들어준다 ( 탄소고정!)

2. 에너지를 넣어주는 환원 단계 환원에 필요한 것 , (ATP , NADPH) 

3. 일부는 포도당으로 빠지고 일부는CO2 수용체가  RuBP 의 재생한다.( 다시 쓸 수 있도록)

여러종료의 효소가 관여하는데  가장 중요한것이 루비스코



2강 


세포호흡의 의미 : ATP 를 만든다.

세포호흡 : 물질대사 과정 중 하나로 생명체가 유기 화합물을 분해하여 에너지를 얻는 과정을 뜻한다.


ATP 의 화학적인 구조 : 아데닌  +  리보오스(5탄당)  => 아데노신

여기에 인이 2개가 붙으면 아데노신 2인산 (ADP) 아데노신 3인산 (ATP)


ATP => ADP + 에너지 + 무기인산 (가수분해 ) 


* ATP (아데노신 3인산)  리보오스 ( 5탄당) , 아데닌 과 3개의 인산기를 갖는다.

* ATP 인산기들 간의 결합은 가수분해로 끊어진다.

* 말단 인산이 끊어지면 ATP로부터 에너지가 방출된다.



개념 2 : ATP 생성

ATP 합성효소 가 어떤 막에 걸쳐져 있다.  이 합성효소에 의해서 ADP +  P가 ATP 가 된다.

ATP 가 갖고있는 에너지 공급책은 H+ 이다.


막 위쪽에 H+ 가 많이 있다. ATP 가 가지고 있는 에너지는 공간 A와 B 의 농도 차에 의한 이동하려고 하는 힘에 의해서 만들어진다.

ATP 생성 장소 : 미토콘드리아 ( 세포안에 있는 작은 소기관 ) 

외막과 내막이 울퉁불퉁하게 접혀있는 부분이 크리스테, 그 안쪾은 기질이라고 한다.


그리고 내막과 외막사이를 막간 공간이라고 한다. 

수소이온의 농도차 즉 한공간에 몰아주는 힘은 다음과 같다


NADH ->(산화 ) ->  NAD+ , 2e- ,  H+


* 전자전달계 : 미토콘드리아의 일부(외막과 내막 사이를 막간공간 이라고 하는데)

내막 안쪽은 기질. 

내막 안쪽에있는 ATP 합성효소에 의해서 ATP 가 만들어진것이다.


막간공간에 H+ 가 잔뜩있는것!! 어떻게 여기 모아놨냐?

NADH라는 놈에 의해서 모였어. NADH 는 환원이 된 상태, 이게 산화가 되면서  H+ 가 막간공간에 축적이 된다.

NADH ->  H+ 농도 -> ATP 를 만든것이다!!

ATP 가 가지고 있는 에너지는 NADH 가 만든것이다!!


엄청나게 복잡한 과정에서 ATP  가 만들어진다.


 시트르산 ( TCA ) 회로 를 돌면서 NADH 가 만들어진다  ( NADH 가 환원이 된것이다) .

피루브산에서 시작해서 , NADH 가 만들어진다. 사실은 이것은 우리가알고있는 어떤물질과 연결되있다,

그 물질은 포도당!! 포도당이 피루브산이 된 것이다. ( 포도당은 에너지를 많이 갖고있다)


이 포도당을 섭취해서 이 포도당의 에너지를 사용하고 싶으면 ATP 를 만들어야해 . 지금그 과정을 설명중.

포도당이 몇단계의 분해과정읠 거쳐서 피루브산이 되고, 시트르산회로를 돌면서 NADH 를 만든다 .


포도당 -> NADH ->  H+ 농도차이 -> ATP  를 합성


미토콘드리아 안에서 ATP 가 만들어진것이다. 



NADH => 시트르산 회로에서 온 것이다.  


이 회로에서 등장한 물질 피루브산(  포도당이 분해된 것 )  이 시트르산 회로를 돌면서 NADH 를 만든 것이다. 


이러한 모든 일들이 미토콘드리아 에서 일어난다!!  내막, 외막, 그 사이를 막간공간 이라고한다. 

내막에 ATP 합성 효소가 존재!


TCP회로(시트르산회로 - 기질) 에서 발생중. NADH 라는 물질을 만든다 . H+축적되서 ATP 합성한다. 


포도당 -> 피루브산 -> 시트르산회로 -> NADH ->  H+ 축적 ->  ATP 합성



'학부공부 > 생명과학' 카테고리의 다른 글

생명과학 7주차 웹강  (0) 2017.10.13
생명과학 6주차 웹강  (0) 2017.10.09
생명과학 5주차 웹강  (0) 2017.10.08
생명과학 4주차 웹강  (0) 2017.10.05
생명과학 3주차 웹강  (0) 2017.10.05
생명과학 2주차 웹강  (0) 2017.10.05

세포막

세포막 : 세포 전체를 둘러싸고 있는 막으로 세포 내부와 외부 환경의 경계를 이룬다.


생명체 => 소통 할수있는 통로가 있어야돼.


마찬가지로 막에도 통로가 존재해야 생존할 수 있다.



개념1 : 세포막의 구성

세포막은 세포의 형태를 유지하고 내부를 보호하며, 세포로 드나드는 물질의 이동을 통제하여 세포가 독자적인 기능을 유지할 수 있게 해준다. ( 물질의 이동이 가능하기는함) 


세포막은 주로 단백질과 인지질로 구성되는데 그 외에도 당지질(당 + 지질) , 콜레스테롤 등의 물질도 함께 구성된다.



위에 동그라미가 인 , 밑에 작대기가 지질이다. 


세포막은 두 층의 인지질로 구성된다.



개념2 : 인지질

* 인지질은 대부분의 막에 존재하는 지질 중 가장 흔한 종류이다.

* 인지질은 양친매성을 지닌 물질로써, 소수성 부위와 진수성 부위를 모두 가지고 있다.

* 인지질 이중층은 물로 차있는 두 공간 사이에 안정한 경계를 형성할 수 있다.


인지질이 가지고있는 중요한 특성 , 인은 물과 붙으려고한다. 지질은 물을 싫어한다

물과 친한부위를 친수성, 물을 싫어하는 부위를 소수성 이라고한다. 



물을 좋아하는 놈, 가운데 물 싫어하는애 , 물싫어하는애 , 물 좋아하는애 . 순서로 있다. 

물을 양쪽으로 나눌 수 있게 된다.


개념3 막단백질


어떤부분은 친수성, 어떤부분은 소수성. 

 * 대부분 양친매성으로, 진수성 부분이 바깥으로 뻗어나가 있는 형태로 이중층에 위치한다.

* 유동모자이크 모델 : 유동성이 있는 인지질 이중층에 단백질 분자가 모자이크처럼 박혀 움직인다.


* 막의 특이적인 기능의 대부분을 단백질이 수행한다. 


* 내재성 단백질은 지질 이중층의 소수성 내부로 들어가 있다. 

* 막을 관통하기도 한다.

* 내재성 단백질의 소수성 부분은 주로 알파나선형태로 꼬여 있는 여러개의 비극성 아미노산 가닥으로 구성되어 있다.

* 주변부 단백질은 막의 표면에 느슨하게 결합해 있다. 



관통하는 내재성 단백질. 


단백질 -> 아미노산 + 아미노산 

물을 좋아하는 아미노산이 모여있으면  친수성, 물을 싫어하는 아미노산이 모여있으면 소수성 이다.


전하를 많이 갖는 아미노산 => 극성아미노산 

전하를 별로 갖지 않는 아미노산 => 비극성 아미노산


막댄백질의 6가지 주요기능

- 수송 ( 들어 올 수 있도록 운반 ) 

- 효소 활성    ( 어떤 화학 반응의 촉매 역할을 한다) 

- 세포골격 및 세포외기질 결함 ( 세포 안에 여러 종류의 단백질이 존재한다.  철근과 같은 역할을 한다) 

(세포 골격과 막단백질이 결합할 /수 있다.)

(세포와 세포 사이에 무엇이 있나? 세포외기질 -> 단백질 , 이 것과 연결되있다.)


- 세포와 세포 인식 : 막단백질이 있는 세포A 의 막단백질과 세포 B 의 막단백질을 인식하고 찾아갈 수 있다. 

- 세포간 연결

- 신호전환 : 신호가 세포안으로 전달이 되야한다. 세포에는 신호를 느낄 수 있는 수용체가 있어야한다. 

(눈에 빛을 인식하는 로돕신 이라는 단백질이 느낀다. -> 세포막에 막단백질 이다.)



개념4 : 세포막과 투과

세포막은 selective barrier 선택적 투과막이다.  


        전하를 가지고있다  ( 친수성) 분자들은 투과하지 못한다. 



여기저기 옮겨 간다


세포막의 특성 : 인지질과 단백질에 의해서 얻어진다. 



2강

물질이동 : 물질이동의 원리와 역할에 대하여 설명할 수 있다.


물질이동 - 물질이 어느 장소에서 다른 장소로 이동하여 그 물질의 상대적 농도가 변화하는 현상.


개념1 : 세포막과 물질이동

* 세포 경계를 가로지르는 물질의 수송이 있다.

* 세포막은 선택적 투과성을 가지고 있어 , 세포의 물질 수송을 조절한다. ( 세포막이 소수성부위가 많아 친수성 물질을 통과시키지 않는다 ) 


* 소수성(비극성) 분자는 막의 지질 이중층에 녹아 들어갈 수 있어 막을 쉽게 통과한다.


개념2 : 수동 수송

* 물질은 농도 기울기를 따라서 농도가 높은 곳에서 농도가 높은 곳에서 농도가 낮은 곳으로 이동한다.

* 농도 기울기를 따라 물질을 이동시키는 데는 일이 필요치 않다.

* 생체막을 가로지르는 물질의 확산은 수동수송이다. 


* 확산이란 분자가 가능한 공간으로 골고루 퍼져나가는 경향을 말한다. 

* 각각의 분자는 무작위적으로 움직이더라도 한 분자집단의 확산은 방향성을 가질 수 있다.


이렇게 세포막을 설치한다면 어떻게 될까?



기본 확산 속도 식은 다음과 같다. K 상수 , A 면 , D 거리 P2-P1 농도차이.

농도차가 크거나 거리가 좁거나, 면이 넓거나 하면 속도가 늘어난다. 


허파꽈리 -> 폐안에 꽈리모양들이 모여서 허파를 이룬다. 



가스교환이 일어난다. 잘일어나는게 당연히 좋다! 화산속도가 빠를 수록 좋다! 

꽈리를 통하여  A 를 증가시킨 것이다. 


허파꽈리에 있는 산소를 혈액으로 가져와야 한다. 

고산지대로 가게 되면 P2 - P1 이 줄어든다. 


* 통로단백질안 친수성의 통로를 가지고 있어, 이 통로를 통해 특정한 물질이나 이온이 수숭될 수 있다. 

* 아쿠아포린이라 불리는 단백질은 물의 이동을 촉진하다. (물구멍을 형성하는 단백질)  


구멍자체를 만들지 않고 운반만 살짝 해주는 것도 있다

*  운반체 단백질이라 불리는 다른 수송 단백질은 특정 분자에 결합하고 모양이 변함으로써 막을 가로질러 그 분자를 왕복해 수송한다.

* 수송 단백질은 수송하는 물질에 대해 특이적으로 작용한다.


수동수송 -> 수송단백질 ( 운반체 ) ( 통로 ) 



개념3 : 촉진 확산.



통로단백질과 , 운반체 단백질


촉진확산 -> 단백질의 도움을 받는 수동수송


수동수송 -> 단순확산과  촉진확산


촉진확산 : 에서 수송 단백질은 세포막을 가로지르는 수동적인 물질의 수송 속도를 높여준다. 


삼투 

삼투도 수동수송에 속한다 ? 물분자의 이동.

선택적 투과성을 가진 막을 가로질러 자유로운 물 분자가 확산되는 현상이다.

물은 용질의 농도가 낮은 지역에서 용질의 농도가 높은 지역ㅇ로 양쪽의 농도가 같아질 때 가지 확산된다.



확산에 의해 쌀알은 A -> B 로 이동할텐데. 이 막이 물만 통과할 수있기때문에 이동할 수 없다.

고로 물만 B-> A로 이동한다.


반투과성막이기 때문에 쌀알은 이동하지 않았다.




압력과 삼투압이 같아질 때까지 물이 이동한다. 



이 사진은 적혈구 이다. ( 삼투현상이 쉽게 나타나는 부위 ) 

가운데가 정상적인 형태, C 는 적혈구가 떙떙해졌다. 밖에 있던 물이 안으로 들어왔기때문에.

A 는 쭈글쭈글 해졌다. 물이 많아졌기 떄문에.! 


물질수송중에서 수동수송이 있고

수동수송에는 단순확산과 촉진확산이있다.


삼투 : 물의이동 -> 확산 , 물과 같이있던 쌀알은 통과할 수 없다. 반투과성막이기 떄문이다. 


'학부공부 > 생명과학' 카테고리의 다른 글

생명과학 7주차 웹강  (0) 2017.10.13
생명과학 6주차 웹강  (0) 2017.10.09
생명과학 5주차 웹강  (0) 2017.10.08
생명과학 4주차 웹강  (0) 2017.10.05
생명과학 3주차 웹강  (0) 2017.10.05
생명과학 2주차 웹강  (0) 2017.10.05

세포

세포의 구조, 종류, 그리고 기능에 대하여 설명할 수 있다.


세포 : 생물체를 구성하고 생명 활동이 일어나는 구조적! , 기능적! 인 기본 단위


* 모든 생명체는 세포로 구성된다.

* 세포는 살아있는 가장 단순한 집합체이다.

* 세포는 세포에서 만들어진다.(세포분열 을 통해서 ) 

* 세포는 다양하지만 공통점도 지닌다. ( 손바닥세포 , 손등세포 가 다르다  , 그러나 공통점도 존재한다.) 


A 라는 세포는 B 라는 세포에서 만들어 진것이고 .. 수정란에서 부터 기원된 것.

따라서 세포 분열을 통해서 세포가 만들어지는것이다.



바이러스 안에는 DNA, 단백질 등이 들어가므로 분자들은 바이러스보다 작다.

아주 큰세포 정도가 우리 눈으로 볼 수 있을까 말까 하다.


개념 2 : 현미경

* 광학 현미경

-  광학현미경을 이용하여 작은 세포를 관찰한다.

- 사용되는 광선의 가시광선과 자외선 일부이다.

- 광학현미경은 실제 세포를 1000배 정도까지 확대하여 볼 수 있다.

- 세포 안의 미세구조는 관찰하기 어렵다.




5.렌즈와 샘플사이에 거리조절을 위해 필요한 나사들 

7. 빛이 들어오는 램프

8. 빛을 샘플에 모아주기위한 조리개





동그라미 친것은 핵이라고 불리는 세포내의 기관.


이미지를 관리하기 위해서 컴퓨터에 연결해서 관리한다.


현미경을 얘기할 때 시료-> 생물과 관련되거나 산업적인 측면에서 다양한 시료를 관찰할 수 있다.(암석 또는 전자기판 등)



*광학현미경_ 조명



어떻게하면 주어진 조명에서 이미지를 얻을 수 있을까.

암시야, 명시야 조명

시료가 왼쪽은 하얀실, 오른쪽은 검은 실.




형광현미경.


어떤 대상에 빛을 쏘여주면 시료가 흥분하여 불안정한 상태가 된다. 불안정한상태에서 안정한 상태로 돌아오려 할떄 나오는 것이 형광이다.

그 때 쪼여주는 빛을 자외선이라고한다. 자외선을 흡수한 시료가 다시 기저상태로 돌아오려할 때 나오는 에너지의 방출이 형광! 이다.


색이 각각 다른 이유는 동일한 빛을 받았음에도 불구하고 , 흥분된상태에서 기저상태로 돌아올떄 내뿜는 형광의 파장이 다르기 떄문이다.






녹색을 방출한다.



핵 주위에 있는 세포들은 녹색형광, 핵은 파란색 형광.

형광현미경을 통해서 세포의 다른부분등을 관찰 할 수 있다.


* 형광현미경

- 광학현미경에 사용 하는 것보다 강한 광원(수은 램프 등) 을 사용

- 특수 파장만을 통과시키는 필터를 통과한 단일 파장 투사

- 형광성 물질로 염색된 물체(관찰 대상) 을 자극

- 어떤 영역의 파장만을 발산(형광) - 파란, 녹색

- 필터를 통하여 이미지를 관찰

- 형광물질/사용하는 필터가 다양함  (만약 파란색만 통과시키는 필터를 사용했다면 , 파란색만 보였을 것이다.)

이것들을 합치면 이미지를 만들어 낼 수 있다.


* 전자현미경

- 광선의 파장이 짧다(0.004nm)  ( 파장이 짧으면 두 물체를 훨씬 더 잘 구별할 수 있다)


- 해상도(파장이 짧을수록 더 잘보여)와 배율


400 nm -> 해상도는  0.21 nm ( 두물 체가 0.21 nm  만큼만 떨어져있어도 떨어져있는것으로 보인다.)

600 nm -> 해상도는 0.32 nm ( 여기서는 떨어져잇는것으로 볼 수 가 없다.)


해상도와 배율을 혼동하지말자!!  배율은 그냥 확대시킨것. 두 물체를 구별하거나 말거나는 상관없이 그냥 확대한것이다!


해상도는 두개의 물질을 나눠서 볼 수 있는 정도를 의미하고

배율은 두 물체의 상대적인 크기를 의미하는 것이다.


현미경 -> 광학현미경,형광현미경, 전자현미경 ( 해상도 , 배율) 



2강


핵 : 세포의 생명 활동을 조절하는 중심 역할을 하며 세포의 중앙에 보통 1개씩 들어 있다.

Nucleus :  과일안에 씨를 의미

핵심 -> 사물의 가장 중심이 되는 부분.





대부분의 경우 핵이 하나가 존재한다고 했는데, 여기서는 두개이상이 존재한다.

이 세포의 이름은 근육세포. ( 핵이 여러개 존재한다)  - 


가능성 두가지 

1. 핵의 분열이 일어났다면. 

2. 세포에 핵이 하나였는데 , 세포가 융합되면서 핵이 두개인 세포가 나타난다. 


2번쨰가 실제로 일어나는 것이다. 



가운데가 움푹 들어가있다. - > 이 세포의 이름은 적혈구. 

원래 이자리에 핵이 존재하고 있었던 것이다. 자기의 기능을 할 수 있게되면 핵은 사라지게 된다.

적혈구는 핵을 버리고 자기에게 주어진 임무를 충실하게 이행하고자 하기 떄문이다.


적혈구의 임무 - > 산소 운반. 

핵을 잃더라도 산소운반을 위한 목적으로 사용되길 원한다.  산소운반에 필요한 물질 헤모글로빈 ( 단백질)을 담고자 .

극 히 예외적인 경우이다. 



개념 1 : 핵의 구조

핵은 세포 내 유전자의 대부분을 포함하고 있으며 보통 가장 잘보이는 소기관이다.  


6 , 골지체

9, 미토콘드리아

이러한 여러가지 소기관중에서 가장 쉽게 관찰할 수 있는 부분이 2번인 핵이다 

또한 핵은 유전자를 지니고 있다. (대부분의 유전자를 ) 


* 핵막은 핵을 둘러싸고 있으며 핵을 세포질부터 구분한다. 

* 핵막은 이중막으로 되어 있으며, 각 막은 이중층으로 되어 있다. 



세포질에는 또 여러가지 기관들이 존재한다. 


핵은 막이 두개이다. 

각 막은 이중층이다. 

이 층을 자세히 보게되면 각각의 층은 인지질이라는 물질로 구성 되어있다. 


인지질 -> 층 -> 2개의 층이 1막을 이루고 -> 2개의 막이 핵막을 이룬다. 


막은 자기자신과 외부를 경계 짓는것 , 그런데 생명체의 막에서는 통로가 존재한다. 



이 핵에있는 구멍을 핵공이라고 한다. 

1번 은 핵막을 의미한다. 앞에서 이야기한것처럼 두개의 막으로 이루어진다. 

이 막 사이에 통로가 존재한다. 세포질과 핵내부가 소통할 수 있는 통로. 라미나라고 불리는 단백질에 의해서 만들어지게된다.




a 에 비해서 d 는 핵막이 뚜렷하지 않다. 

라미나 단백질의 변형이 일어났기 떄문이다. 

핵공을 구성하는 단백질의 돌연변이가 나타나면 질병을 야기한다.

특히 근육 이상(위축)  되는 질병이 나타 날 수 있다.



개념2 : 핵과 유전물질

핵이 갖고있는 중요한 특성은 유전자를 갖고있다. DNA 에 포함된다. 

유전자 -> 특정 단백질을 생성하라는 암호를 가지고 있다. DNA 라는 형태로 저장


* 진핵세포의 유전정보는 핵 안에 있으며, 리보솜에서 번역된다.

- 진핵세포에서 핵은 대부분의 DNA 를 포함한다.

- 리보솜은 DNA 정보를 이용하여 단백질을 합성한다.



사람은 46개의 염색체를 지닌다. 




단백질의 종류가 제한되어있다. 그 단백질을 히스톤 단백질이라고 부른다. 



단백질과 DNA 가 엉켜있는 상태 -> 염색사 라고 한다.




핵안에 인이라는 작은 구조물이 있다.

인은 RNA 를 만드는 일을 한다.

RNA 는 DNA 와 유사한 기능을 지닌 물질. 자세하게 말하진 않지만 세포내에 있는 RNA 는 몇가지 종류가있다. 대표적으로 3가지가 있다.

mRNA,  tRNA, rRNA 가 있다. 이중에서 rRNA 를 만들어내는 장소이다. 


여기선 그냥 인은 핵 안에 있으며 , rRNA 를 만드는 장소이다. 까지만 알면 된다.


핵 의 기능이 무엇인지, 핵은 핵막에 둘러 쌓인다. 막이 있다는 것은 소통할 수 있는 톧로가 존재한다 ( 핵공 이 존재 -> 만약 핵공이 정상적으로 형성되지 못한다면 질환이 야기될 수 있다 -> 근 위축의 원인) 


핵은 유전자를 담고있는 DNA 를 지닌다.  DNA 는 단백질과 같이 엉켜있다. 단백질과 엉켜있는 이 구조적인 상태를 염색사 라는 말로 표현한다. 

유사한 말로써 자주쓰는 말은 염색체 라고도 한다.  좀더 기능적인 뜻을 나타내고자 할떄 염색체,  구조적인 상태는 염색사,  포괄적으로는 염색체를 많이 쓴다. 

'학부공부 > 생명과학' 카테고리의 다른 글

생명과학 7주차 웹강  (0) 2017.10.13
생명과학 6주차 웹강  (0) 2017.10.09
생명과학 5주차 웹강  (0) 2017.10.08
생명과학 4주차 웹강  (0) 2017.10.05
생명과학 3주차 웹강  (0) 2017.10.05
생명과학 2주차 웹강  (0) 2017.10.05

바이러스

바이러스의 구조, 종류 그리고 생활사에 대하여 설명할 수 있다.


바이러스

- 세균보다 작은 미생물의 한 가지이다.

- 생물체 내부에서만 복제(자기 자신을 두개로) 할 수 있는 세균보다 작은 감염성 병원균이다.

- 생명체의 특성과 비생명체의 특성을 다 가지고 있다. (생명체특성 - 번식가능 , 비생명체적 - > 물질대사, 향상성 유지 불가능)

- 바이러스( 독 이라는뜻)


바이러스 입자의 기본 구조

- 핵심 : 바이러스의 핵산(유전물질 ( DNA, RNA) )

- 캡시드

*  단백질 외각

* 캡소미어라는 소단위로 구성됨

* 핵산을 싸고 있음

- 뉴클레오캡시드 : 핵산과 캡시드가 결합된 형태


바이러스를 여러 종류로 나눌 수 있다.

1. 보유핵산에 따라서

RNA 바이러스 / DNA 바이러스



특정한 바이러스는 RNA 또는  DNA 하나를 지닌다.

캡시드를 이루고 있는것을 캡소미어라고 한다.



이렇게 단백질 외피가 존재하는 바이러스도 많다. 보통 당 + 단백질인 당단백이다.



개념2 : 바이러스와 숙주

A 라는 바이러스의 숙주의 범위가 어느정도 정해져 있다.

- 박테리아

- 동물

- 식물

숙주의 범위

- 넓은 범위 ( 광견병 바이러스 ) 

- 좁은 범위(에이즈 바이러스 HIV)    사람 -> 림프구(백혈구의 한 종류)


HIV  -> 사람의 백혈구 ( 특정한 림프구라는 백혈구 로 들어간다) 

이 림프구는 면역기능에 매우 중요한 역할을 한다.

에이즈 바이러스에 감염이되면 림프구에 손상이되어 면역기능이 감소하게 된다.

광견병바이러스 개가 사람을 물면 사람에게도 감염 될 수 있다.


담배모자이크바이러스  : 담배라는 식물에 감염이 된다.

아데노 바이러스 : 사람의 기도(호흡기 세포) 에 잘 감염이 된다.

허피스 바이러스 : 두가지 형태가 있다. 입술같은 곳에 고름이 잡힘



개념3 : 바이러스의 종류


이러한 감기를 일으키는 바이러스는 200 여 종이다.

독감 -> 열이나더라도 더 높은 열이나고 , 근육의 통증까지 동반한다.


독감 바이러스 

인플루엔자 바이러스는 A,B,C 형 3가지로 나누어지고 또 변형이 존재한다. H와 N 단백질은 유사한 일을 하는데 조금씩 다르다.

- 스페인 독감

특정한 바이러스를 잡아내고자 할 때 조금씩 달라지는 바이러스 떄문에 잡기가 힘들다.

- 아시아 독감


- 홍콩 독감


- 세계를 긴장시킨 주요 호흡기 질환


- 메르스 (Middle East Respiratory )

코로나바이러스에 의한 호흡기 감염증이다.


개념4 : 바이러스의 종류


가운데 핵산, 핵산을 둘러싸고있는 캡시드 + 외피 + 단백질(당단백질) - 외피에 붙어있음 이 존재한다



바이러스의 주기

1. 바이러스는 세표표면 수용체에 결합한다.  (숙주세포와 결합한다.)

2. 바이러스가 세포에 들어가 해제되어 핵산이 방출된다.

3. 바이러스 DNA (RNA) 는 숙주단백질 합성 메커니즘을 이용해 바이러스의 핵산과 단백질을 생성한다.

4. 조립되어 새로 생긴 바이러스는 세포에서 방출된다.


구조, 종류, 질병



2강 바이러스와 세균

바이러스와 세균에 의하여 유발되는 질병에 대하여 설명할 수 있다.

세균(bacteria)  : 단세포이며 원핵 생물이다.

생명체 -> 원핵 생물 (핵이 없다, 유전물질을 둘러싸고 잇는 구조물이있는가 없는가 이다. 유절물질이 아니라!!! ), 진핵 생물

생명체 -> 세균 (박테리아 , 단세포, 원핵생물) , 고세균(원색생물, 단세포 이지만 아직 언급 x ) , 진핵 생물(균류 , 세균, 식물)  - > 총 다섯종류 



세균(박테리아) 와 바이러스의 차이

바이러스는 숙주가 없이 증식할 수 없다. 그러나 세균은 숙주 없이 스스로 증식할 수 있다.

크기를 본다면 바이러스가 훨씬 크다.어떤 바이러스는 이 박테리아 안에 들어가서 살 수 있다.

바이러스가 박테리아를 숙주로 삼는것.

둘다 핵산을 지니고 있다.

바이러스의 변이속도가 빨라 항바이러스 개발이 어렵다.

반면 박테리아 항생제 개발이 비교적 용이하다. 항생제는 박테리아에 해당되는 말. 항바이러스제 가 바이러스에 해당.



개념2 : 세포의 구조

세포막, 세포벽이 존재한다. 그리고 플라스미드라는 부분이 있다.이것도 DNA 인데 작은  DNA 이다.


개념3 : 세균의 모양

* 구균 (알균) : 둥근 모양의 세균이다 ( 폐렴의 원인) 

여러 세균이 사슬 모양으로 늘어선 연쇄상 구균

포도송이처럼 뭉쳐있는 포도상구균 이라고 한다.



* 간균( 막대균) 은 막대 모양을 하는 세균이다.  (파상풍)


* 나선균 : 나선형의 세균이다. 


개념4 : 병원균

* 바이러스, 박테리아 , 곰팡이

세균 - 어떠한 특성을 지닌 생명체 집단 들을 일컫는 말

병원균  - 질병을 일으킬 수 있는 능력을 지닌 생명체를 일컫는 말 (박테리아 , 바이러스 , 곰팡이 (진핵생물) )



바이러스 -> 감염성 질병을 일으킨다 . 독감, 감기, 에이즈, 천연두, 소아마비, 광견병, 홍역, 황열, 뎅기열 -> 두세가지는 머릿속에 담아둬

세균 (박테리아 ) ->  폐렴, 콜레라, 

곰팡이(진균류, 세균과는 별도의 집단)  -> 무좀 , 백선


전염병이  대유행한다 ( Pandemic) 하다. 전세계적으로. 조그마하게 일어나는것 (epidemic) 


* 한센병  -> 균에의해서

* 헬리코박터균 -> 위궤양, 위암을 일으키는 세균이다. 

* 유익균 -> 특정 세균을 지칭하는 이름이 아니고 해로운 물질을 생성하지 않고 부패를 방지하는 유익한 균

- 유산균 : 엄밀히는 락토바실러스를 부르는 말인데, 


* 대장균 : 대장에 있는균, 박테리아이다. (세균)  그 자체는 해롭지 않고 비타민 K를 생산하여 이로움을 주기도 하며 , 박테리아의 번식을 막기도한다.

그러나해롭다라는 생각을 하게된다. 가끔 변종이 일어나게 된다. 



세균 -> 세균과 바이러스의 차이점, 질환

병원균 - > 질병을 일으킬 수 있수도 , 이로울 수 도 있다.

'학부공부 > 생명과학' 카테고리의 다른 글

생명과학 6주차 웹강  (0) 2017.10.09
생명과학 5주차 웹강  (0) 2017.10.08
생명과학 4주차 웹강  (0) 2017.10.05
생명과학 3주차 웹강  (0) 2017.10.05
생명과학 2주차 웹강  (0) 2017.10.05
생명과학 1주차 웹강  (0) 2017.10.04

단백질

-> 단백질의 구성, 종류와 특성을 설명할 수 있다.


단백질 : 알에서 하얀 부위? 다음 중 단백질을 많이 포함한 것은 ? 사과x 사탕x , 머리카락 , 손톱(케라틴)


개념1 : 단백질의 구성 단위


아미노산 : 20 종이 존재한다. 화학구조가 다 다르다.

필수 아미노산 : 9가지 이다. 우리몸에서 만들어지지 않는다. 

글리신 , 메티오닌  이 두가지는 기억하자!



아미노산의 기본 구조

C,H,O,N , 간혹 S(황)이 있기도 하다.

NH2  + COOH


아미노산은 가지고있는 PH 에 따라서 전하를 띌 수도 있다.



H+가 주변에 많다. 


H 가 몇개 있냐에 따라서 ph 가 다르다. 


글리신 구조

글루탐산 구조

구조를 기억할 필요는 없는거같다



각각이 아미노산이 구나 라는걸 알고 있어야한다. 아미노기와 카르복시기가 결합을한다.  이 결합을 펩티드 결합 이라고 한다. -> 물이 빠져나와 탈수반응!

두개의 아미노산이 결합되는것을 펩타이드 결합이라고 한다.


개념2 아미노산의 결합

엔돌핀이라고 하는 물질은 다섯개의 아미노산으로 이루어진다.


아미노기로 시작해서 카르복시기로 끝난다. 방향성이 존재한다.

각각의 끝을 N-말단 , C - 말단  으로 표현된다.


아미노산 : 각각의 펩티드 결합에서 다른 아미노산끼리 결합 할 수 있다. 중간중간에

따라서 일직선으로 이루어지지 않고 특정한 구조를 형성하게 된다.


모든 아미노산은 C H O N 을 가지고있고 일부는  S 를 가지고있다.


 

H를 버리고 S 끼리 결합하면 이황화 결합.



개념3 : 단백질의 구조

1차 구조 한쪽은 N 한쪽은 C

2차구조  : 펩티드 결합 이외에 결합이 존재한다. _-> 나선형( O ... H -> 수소결합 ), 병풍형


병풍구조 : 병풍구조들이 차곡차곡 쌓이게된다. -> 거미줄의 강도!



단백질을 이루는 기본 구성요소는 아미노산

아미노산 - 아미노산 은 펩티드 결합을 한다. 그러나 다른형태의 결합도 가능하다 -> 수소결합, 이황산결합 , 이러한결 합이 모여서 특이한 구조를 만든다


2차구조 : 나선형 병풍형 이러한 것들이 또 모여서 3차구조를 형성한다.


특정한 구조를 가진것은 특정한 성질을 띄도록한다 -> 튼튼한 거미줄



2강

개념1  단백질의 구조

나선형 + 병풍형


개념2 : 단백질의 기능

효소 : 특별한 생체 반응을 촉매 한다.

구조단백질 : 세포와 조직을 지지하는 힘을 제공한다.

운동단백질 : 세포나 조직이 움직일 수 있게 한다. ( 정자의 편모 , 투수가 공을 던질때 근육의 이동)

수송단백질 : 생체 내 작은 분자 또는 이온을 운반한다. ( 혈액, 혈구 (적혈구 ( 헤모글로빈) , 백혈구 , 혈소판) )

헤모글로빈(단백질) : 산소결합해서 산소를 운반한다.

근육안에 미오글로빈 산소를 사용 

작은 분자나 이온을 붇잡아소 이동시켜준다.

 저장단백질 : 단백질을 모아서 제공하는 역할을 한다. 알부민, 구조는 여러가지를 지닌다.

 신호단백질 : 세포와 세포사이에 신호를 전달한다.

인슐린 - 한쪽은 N 말단 한쪽은 C 말단

인슐린이 하는일은 :  혈당(혈액 / 포도당 )을 낮춰주는 역할을 한다. 

혈당을 낮추기는 어떻게 할까? 포도당을 부수거나 몸밖으로 배설(오줌) 시키거나.

인슐린은 혈액에 있는 포도당을 세포안으로 집어 넣는 역할을 한다.

어떤세포에가서 혈액안에있는 glucose 를 받아들여라 라고 신호를보낸다.


수용체단백질 : 세포에 전달되는 신호물질을 인식한다.

면역단백질 : 외부 침입자에 대항하는 항체를 구성한다. 항원과 항체가 결합.


개념3 : 단백질의 변성

계란에 열을가하면 모양이 변한다.

프리온이라는 단백질이 있다 ( 광우병을 일으킴) 변성이되면 질환이 발생

치매 - 아밀로이드 (변형된 단백질들이 쌓이면서 뇌에 기능이 비정상적이게됌)



단백질의 구조 

기능

변성 - 구조가 바뀌게 되면 기능을 상실하고 질환에 이를수도 있게된다.



'학부공부 > 생명과학' 카테고리의 다른 글

생명과학 6주차 웹강  (0) 2017.10.09
생명과학 5주차 웹강  (0) 2017.10.08
생명과학 4주차 웹강  (0) 2017.10.05
생명과학 3주차 웹강  (0) 2017.10.05
생명과학 2주차 웹강  (0) 2017.10.05
생명과학 1주차 웹강  (0) 2017.10.04

생명체 구성물질

물질 : 자연계를 구성하는 요소, 공간의 일부를 차지하고 질량을 가지는 것

- 사탕은 물질로 이루어지는가?

- 사과는 물질로 이루어지는가?

- 그걸 먹는 사람은 물질로 이루어지는가?


개념1 : 원소는 물질의 근본

원소 ; 화학적 수단에 의해 다른 물질로 쪼개 질 수 없는 물질 - 주기율표에 정리

대량원소 : 탄소, 수소, 산소, 질소 , 황, 인(사람의 몸에 많이 들어있는 물질)

미량원소 : 소량으로 필요 ( 양이 많이  필요하지않으나 반드시 필요하다.)

미량원소의 중요성 : 요오드 결핍, 철 결핍(산소운반에 필요)


우리몸에서 가장 많은 순으로 정렬 : 산소 탄소 수소 질소 기타

그외에 : 인 포타슘, 소듐 등등


지구를 이루는 물질 : 산소 - 실리콘 - 기타 - 알루미늄 - 철 - 칼슘(원래 우주에서 생성)

사람몸 과 지구는 큰 차이 없다고 생각하는 것이 맞다.


필수원소 결핍의 영향 : 목주위에 갑상샘 -> 호르몬 - >갑상선(샘)  호르몬 을만드는데  (요오드가 필요)


개념2 : 원소와 화합물

우리몸 : 물 -> 단백질 - > 지질 -> 유기물 - > 탄수화물


유기물질 : 탄소를 포함한 물질(지구상에서는 그렇게 많지는 않다 5%)

organic!! 떠오르는 생각 

1. 신선한 물질 fresh

2. 기운 energy  이 있는 물질  ( 이게 제일 맞는말 생명체 -> 독특한 기운)

3. 기름 fat  이 있는 물질

4. 시골에서 만들어진 물질

좀더 정확하게 말하면 탄소를 포함하고 있는 탄소화합물을 의미한다.

C, H, O, N(기본적인 화합물질)  이 조합해서 여러가지가 만들어질 수 있다. C2,CH,CO,

일산화질소(NO)라고 부르는 작은 신호분자는 가슴통증을 완화시켜준다. 혈관을 확장시켜준다.

CH -> 에네저 생성을 막을 수 있다(ATP)


개념3 : 생명체와 물

H2O 성질

1. 응집력 : 물의 흐름 기질을 이룸

2. 부착력 : 물의 이동

3. 높은 비열 : 체내 온도 유지

4. 높은 기화열 : 냉각 효과

5. 밀도(고체) < 밀도 (액체) : 강의 표면이 먼저 동결됨

6. 전하를지님 : 용매의 작용 


물위에 떠있기 : 철이 물위에 떠있다(몰의 표면장력을 깨뜨리지않고 있다), 식물이 잎까지 물을올림

높은 비열 : 체내 온도 유지, 물은 온도 변화에 덜 민감하다. 체온 조절에 유리하다.

높은 기화열 : 기화할때 많은 열이 빠져나간다. ( 냉각효과)

높은 밀도 : 물위에 얼음이 뜰 수 있는 이유 ( 수소결합 떄문) , 만약에 바닥부터 언다면 물고기는 다 죽을거야



물질 : 지구에있는 물질, 생명체에있는 물질, 비교적 간단할 지라도 생명현상에 중요하다.

유기물 : 탄소로 이루어진 물질 . 탄소화합물( 생명체의 특별한 기능을 지닌 물질)

물 : H2O 몇가지 독특한 특성을 지니고 있다. 생명현상에 매우 종요한 역할을 하고있다.



2강


개념 1: 거대 분자

* 많은 생명체 구성 물질은 단량체라 부르는 작은 기본 단위로 구성되며, 단량체는 중합체와 다른 특성을 가진다.

(단량체가 중합체로 결합된다)


* 단량체는 중합체를 형성하기 위해 탈수결합으로 연결되며, 중합체는 가수분해에 의해 단량체로 나뉜다.


개념2 : 탄수화물

* 탄수화물은 탄소, 수소, 산소가 1:2:1 의 비율이다.

* 탄수화물은 포도당처럼 단일 분자다.( 단당류)

* 두 단당류가 결합하여 이당류를 형성한다.

* 이들 단당류가 에너지를 신속하게 공급한다. ( 포도당, 과당)

* 다당류는 수 백 개의 단당류로 이루어진 복합 탄수화물 - 지지(세포외곽) 또는 에너지저장의 역할을 한다.


포도당 C가 6개 , H 12 개, O 가 6개 (과당도 똑같지만 배열이 약간 다르다)

 

포도당 + 과당 -> 설탕

자연게에는  D-Glucose 가 더 많다.

기본적인 구조를 약간씩 변화되면서 다양한 화합물들이 나타날 수 있다.


포도당 - D, L , 알파 베타 등등 이있을때 "결합방법도 다르다".

C,H,O 의 개수는 같지만 다른 역할을 하는 물질이 된다.


다당류 : 녹말(먹을 수 있다 => 에너지 얻을 수 있다), 셀룰로스 (먹을 수 없다 => 에너지 못얻는다) , 글리코겐(사람 몸에서 포도당이 저장되는 형태)


단량체 ( 같은 C H O 라도 결합방법에따라서 다른 단량체가됌)

중합체( 결합방법에 따라 달라진다)

포도당 ( 탄수화물의 대표 단량체)



'학부공부 > 생명과학' 카테고리의 다른 글

생명과학 6주차 웹강  (0) 2017.10.09
생명과학 5주차 웹강  (0) 2017.10.08
생명과학 4주차 웹강  (0) 2017.10.05
생명과학 3주차 웹강  (0) 2017.10.05
생명과학 2주차 웹강  (0) 2017.10.05
생명과학 1주차 웹강  (0) 2017.10.04

+ Recent posts