1. TCP/IP 배경

 - 1960년대 말 미국방성(DARPA)연구에서 시작

1980년대초 프로토콜 모델 공개, 인터넷 표준 프로토콜로 이용

 

2. 배우는 목적 및 이유

 - 현재 인터넷 이용 시 가장 많이 사용하는 프로토콜이 TCP 와 IP 입니다.

그러므로 이 프로토콜을 모르면 네트워크가 어떻게 돌아가는지를 알 수 없습니다.

네트워크 관련 업무를 하려면 TCP/IP 에 대한 지식은 필수 입니다.

 

3. 내용

 - TCP/IP 는 현재 가장 널리 사용되고 있는 프로토콜로 TCP/IP 모델이라는게 있습니다.

총 5계층으로 나누어 지며 이 모델 사용 목적은 표준화 용이, 트러블 슈팅 용이 등이 있습니다.

그리고 5계층 모델은 다음과 같이 나뉘어 집니다.

 

5계층 : 응용 프로그램(Application) 계층         

4계층 : 전송(Transport) 계층

3계층 : 인터넷(Internet) 계층

2계층 : 데이터 링크(Datalink) 계층

1계층 : 물리(Physical) 계층

 

로 나뉘어 집니다. 각 계층별로 하는 역할이 틀리며 각 계층별 사용하는 프로토콜 또한 다릅니다.

 

응용프로그램 계층의 역할은 TCP/IP 응용 프로그램 프로토콜을 정의하고 호스트 프로그램이 전송

계층 서비스에 연결하여 네트워크를 사용하는 방법을 정의합니다.

대표적인 프로토콜 : http, telnet, ftp, tftp, snmp, dns, smtp, x windows 등등

 

전송 계층의 역할은 호스트 컴퓨터 사이의 통신 세션을 관리합니다. 데이터를 전송할 때 사용되는

서비스 수준 및 연결상태를 정의 합니다.

대표적인 프로토콜 : tcp, udp, rtp

 

인터넷 계층의 역할은 호스트 및 네트워크 간에 데이터그램을 전달하는 데 사용되는 원본주소 및 대상 주소

정보가 들어있는 IP 데이터그램으로 데이터를 묶습니다. IP 데이터그램을 라우팅 합니다.

대표적인 프로토콜 : ip, icmp, arp, rarp 등등

 

데이터링크 계층의 역할은 네트워크 매체에 직접 연결된 하드웨어 장치가 비트에 전기적인 신호를 보내는

방법을 포함하여 데이터가 네트워크를 통해 실제로 전달되는 방법에 대한 세부 정보를 지정 합니다.

대표적인 프로토콜 : 이더넷, 토큰링, 프레임릴레이 등등

 

물리 계층의 역할은 동축케이블, 광섬유, 또는 꼬인 구리선과 같은 케이블로 장비와 장비사이를 연결해주는

역할을 합니다.

 

TCP/IP 에 대한 최근 이슈는 현재 표준으로 사용중인 IPv4 를 점진적으로 IPv6 로 교체해 나가고 있다는

것입니다. 그 이유는 IPv4 보다 IPv6 가 멀티미디어 서비스를 제공하는데 더욱 적합한 기능을 하며

현재 IPv4 의 여유 IP 개수가 거의 다 떨어졌기 때문입니다.

반면 IPv6 는 거의 무한한 개수의 IP를 사용이 가능하기 때문에 현재 IPv4 에서 IPv6 로 교체 중인 작업이

세계에서 진행 중 입니다.

'Programing > WSP&WNP' 카테고리의 다른 글

대역 외 데이터(Out-of-Band Data)  (0) 2016.11.30

회원가입

ALTER PROCEDURE [dbo].[RegMember]

            

             (

             @m_id varchar(50),

             @m_pw varchar(50),

             @m_name varchar(50)      ,

             @m_age int,

             @result int output

             )

            

   AS

   declare @state int ,@existed int

   set @state = 0

 

   Exec ExistID @m_id, @result output

  

     if @result = 0

                             begin

                                         insert into MemberInfo values(@m_id,@m_pw,@m_name,@m_age,@state)

                                         Exec NewMemberEachTable @m_id

                                         set @result = 1

                             end

     

    else

                                          begin 

                                                      set @result =0

                                          end

      

 RETURN

 

ID유효 확인

ALTER PROCEDURE dbo.ExistID

            

             (

                @m_id varchar(50),

                @result int output

             )

            

             AS

             if  Exists (select *from MemberInfo where m_id = @m_id)

                           begin

                                        set @result = 1

                           end 

             else

                           begin

                                        set @result =0

                           end

            

             RETURN

 

 

로그인

 

ALTER PROCEDURE dbo.LogMember

 

             (

             @m_id varchar(50),

             @m_pw varchar(50),

             @result int output

             )

AS

   declare @existed int

   declare @state int

   Exec AvailId @m_id, @m_pw, @existed output

             If @existed =  /*ID PW가일치안한다면*/

             begin

                           set @result = 0                

             end

             else     /*일치한다면*/

               begin

                   set @state = ( select  state  from MemberInfo where m_id=@m_id )          /*state를조사한다 */ 

                                          if @state =    /* 이미로그인중이라니라면상태를1로변환한다. */  

                                          begin

                                         set @result =    

                                         update MemberInfo set state=where m_id=@m_id    

                                         update FriendList set state =where m_id = @m_id                          

                                         /*state1로변환시켜준다. */  

                 end

                

               else 

                                        begin

                                                    set @result =  /*아이디를있지만이미로그인상태이다.*/

                                        end                                

             end

             RETURN

AvailId

아디가 유효한지 확인

ALTER PROCEDURE dbo.AvailId

             (

               @m_id varchar(50),

               @m_pw varchar(50),

               @result int output

             )

            

AS

 

             if Exists (select m_id from MemberInfo where m_id=@m_id and m_pw =@m_pw)

            

             begin 

               set @result = 1

   end

  

   else

     begin

        set @result = 0

   end

   RETURN

 

 

 

로그아웃

ALTER PROCEDURE dbo.LogOut

            

             (

             @m_id varchar(50),

             @result int OUTPUT

            

             )

            

AS

             set @result = 0

             Exec LogOutExist @m_id,@result output

            

             IF @result = 1

             BEGIN

                           update MemberInfo set state = where m_id = @m_id

                           update FriendList set state =where m_id = @m_id                           

             END

            

             RETURN

 

로그아웃 유효검사

ALTER PROCEDURE dbo.LogOutExist

            

             (

             @m_id varchar(50),

             @result int OUTPUT

 

             )

 

AS

             Declare @buf varchar(50)

             set @buf = (select m_id from MemberInfo where m_id = @m_id)

             set @result = 0

 

             IF @buf is not null

             BEGIN

             set @result = 1

             END

 

 

             RETURN

 

 

시청한 비디오추가

ALTER PROCEDURE dbo.AddVideo

             (

             @m_id varchar(50),

             @m_videoname varchar(50),

             @result int output

             )

AS

    declare @strSql nvarchar(1000)

    declare @sql nvarchar(1000)

    declare @param nvarchar(1000)

              Exec ExistID @m_id, @result output

             if @result = 1

                           begin 

                           exec ExistVideoName @m_id,@m_videoname,@result output

                           end

             else

                           begin

                           set @result = 0

                           end

            

              set @sql = @m_id+'_wordInfo'

              if @result = 1

                             begin

                                                      SET @strSql = 'INSERT INTO ' + @m_id + '_videoInfo 

                           VALUES(@p_id, @p_videoname)'

 

 

                                                     SET @param = '@p_id varchar(50), 

                           @p_videoname varchar(50)' 

 

                                                     EXECUTE sp_executesql @strSql, @param, 

                                                      @p_id  = @m_id,

                                                      @p_videoname  = @m_videoname                                                 

            

             if NOT EXISTS (SELECT  name FROM sys.sysobjects WHERE  name = @sql AND (type = 'U'))

                                         begin

                                                     set @result =1

                                                                  Exec NewMemberEachWordTable @m_id

                                                     RETURN

                                         end                                            

                                         

                             end

     

    else

                                          begin 

                                                      set @result =1

                                          end

      

            

 

            

            

             RETURN

 

영상이름 유효검사

ALTER PROCEDURE dbo.ExistVideoName

             (

                @m_id varchar(50),

                @m_videoname varchar(50),

                @result int output

             )

AS

             declare @strSql nvarchar(1000)

             declare @params nvarchar(100)

             declare @cnt int

            

             SET @strSql = 'SELECT @p_value = count(m_videoname) from ' + @m_id +'_videoInfo

                                                                                             WHERE m_id = @p_id AND m_videoname =@p_videoname'

 

             SET @params = '@p_id  varchar(50),

                                                                                                          @p_videoname varchar(50),            

                                                                                             @p_value as int OUTPUT '

 

 

 

             EXEC sp_executesql @strSql, @params,

                                           @p_value  = @result OUTPUT,

                                           @p_id = @m_id,

                                           @p_videoname = @m_videoname

            

            

            

                           if @result = 0

                                        begin

                                                     set @result =1

                                        end

                          

                           else

                                        begin

                                                     set @result = 0

                                        end

                          

                           RETURN

                          

 

 

시청한 비디오에 단어 추가

ALTER PROCEDURE dbo.AddWord

             (

             @m_id varchar(50),

             @m_videoname varchar(50),

             @m_word varchar(50),

             @m_mean varchar(50),

             @result int output

             )

AS

             exec ExistVideoName @m_id,@m_videoname,@result output

             declare @strSql nvarchar(1000)

    declare @sql nvarchar(1000)

    declare @param nvarchar(1000)

   

             if @result = 0

                           begin

                                        SET @strSql = 'INSERT INTO ' + @m_id + '_wordInfo 

                           VALUES(@p_id,@p_videoname,@p_word,@p_mean)'

 

 

                                                     SET @param = '@p_id varchar(50), 

                           @p_videoname varchar(50),

                                                                                             @p_word varchar(50),

                                                                                             @p_mean varchar(50)' 

 

                                                     EXECUTE sp_executesql @strSql, @param, 

                                                      @p_id  = @m_id,

                                                      @p_videoname  = @m_videoname,

                                                      @p_word = @m_word,

                                                      @p_mean = @m_mean 

               SET @result = 1

                           end

             else

                           begin

                                        SET @result = 0

                           end

             RETURN


'Programing > 오라클&SQL' 카테고리의 다른 글

저장프로시져  (0) 2016.11.30
오라클 ODBC 연결 프로그램  (0) 2016.11.30
Oracle ODBC 설치 및 연결  (0) 2016.11.30

로그인

 

ALTER PROCEDURE dbo.LogMember

 

             (

             @m_id varchar(50),

             @m_pw varchar(50),

             @result int output

             )

AS

   declare @existed int

   declare @state int

   Exec AvailId @m_id, @m_pw, @existed output

             If @existed =  /*ID PW가일치안한다면*/

             begin

                           set @result = 0               

             end

             else     /*일치한다면*/

               begin

                   set @state = ( select  state  from MemberInfo where m_id=@m_id )       /*state를조사한다 */  

                                          if @state =    /* 이미로그인중이라니라면상태를1로변환한다. */  

                                          begin

                                         set @result =    

                                         update MemberInfo set state=where m_id=@m_id    

                                         update FriendList set state =where m_id = @m_id                                     

                                         /*state1로변환시켜준다. */  

                 end

                

               else 

                                        begin

                                                    set @result =  /*아이디를있지만이미로그인상태이다.*/

                                        end                                

             end

             RETURN

 

 

 

AvailId

아디가 유효한지 확인

ALTER PROCEDURE dbo.AvailId

             (

               @m_id varchar(50),

               @m_pw varchar(50),

               @result int output

             )

            

AS

 

             if Exists (select m_id from MemberInfo where m_id=@m_id and m_pw =@m_pw)

            

             begin 

               set @result = 1

   end

  

   else

     begin

        set @result = 0

   end

   RETURN

 

 

 

시청 동영상 목록 요청

 

ALTER PROCEDURE dbo.ListVideo

(

@m_id varchar(50),

@count int output

)

AS

             declare @sql nvarchar(1000)

             set @count = 0

             Exec GetVideoListCount @m_id,@count output

            

             if @count !=0

                          begin    

                           set @sql = 'select m_videoname from '+@m_id+'_videoInfo'

                           exec (@sql)

                          

                           end       

             else

                           begin

                           set @count = 0

                           end                    

             RETURN

 

해당 ID의 시청한 동영상의 개수

ALTER PROCEDURE dbo.GetVideoListCount

             (

             @m_id varchar(50),

             @count int output           

             )

AS

             declare @sql nvarchar(1000)

             declare @p nvarchar(100)

             declare @cnt int

            

             set @sql = 'select @cnt = count(m_videoname) FROM '+@m_id+'_videoInfo' 

             set @p = '@cnt int output'

            

             exec sp_executesql @sql,@p, @cnt=@count output

 

            

             RETURN

 

 

시청 동영상별 저장 단어와 뜻 요청

ALTER PROCEDURE dbo.ListWord

(

@m_id varchar(50),

@m_videoname varchar(50),

@count int output

)

AS

             declare @sql nvarchar(1000)

             declare @param nvarchar(1000)

             set @count = 0

             Exec GetWordListCount @m_id,@m_videoname,@count output

            

             if @count !=0

                           begin                               

                                                     

                           set @sql = 'select m_word,m_mean from '+@m_id+'_wordInfo where m_videoname =@p_videoname'     

                           set @param = '@p_videoname varchar(50)'

                                       

                                        execute sp_executesql @sql,@param,

                                                                                                                                                                 @p_videoname = @m_videoname                         

                          

                           end       

             else

                           begin

                           set @count = 0

                           end                    

             RETURN

 

영상의 단어 개수 확인

ALTER PROCEDURE dbo.GetWordListCount

             (

             @m_id varchar(50),

             @m_videoname varchar(50),

             @count int output           

             )

AS

             declare @sql nvarchar(1000)

             declare @p nvarchar(100)

             declare @cnt int

            

             set @sql = 'select @cnt = count(m_word) FROM '+@m_id+'_wordInfo where m_videoname = @p_videoname'    

             set @p = '@cnt int output,

                                                                  @p_videoname varchar(50)'

            

             exec sp_executesql @sql,@p, 

                                                                                             @p_videoname = @m_videoname,

                                                                                             @cnt=@count output

 

            

             RETURN

'Programing > 오라클&SQL' 카테고리의 다른 글

저장프로시져  (0) 2016.11.30
오라클 ODBC 연결 프로그램  (0) 2016.11.30
Oracle ODBC 설치 및 연결  (0) 2016.11.30

+ Recent posts