KR102089629B1 - 데이터 처리 방법 및 그 방법을 처리하는 전자장치 - Google Patents

데이터 처리 방법 및 그 방법을 처리하는 전자장치 Download PDF

Info

Publication number
KR102089629B1
KR102089629B1 KR1020130136064A KR20130136064A KR102089629B1 KR 102089629 B1 KR102089629 B1 KR 102089629B1 KR 1020130136064 A KR1020130136064 A KR 1020130136064A KR 20130136064 A KR20130136064 A KR 20130136064A KR 102089629 B1 KR102089629 B1 KR 102089629B1
Authority
KR
South Korea
Prior art keywords
message
mtu
mtu value
icmp
electronic device
Prior art date
Application number
KR1020130136064A
Other languages
English (en)
Other versions
KR20150054100A (ko
Inventor
김진엽
김건수
박경엽
안준환
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020130136064A priority Critical patent/KR102089629B1/ko
Priority to US14/538,616 priority patent/US9843527B2/en
Publication of KR20150054100A publication Critical patent/KR20150054100A/ko
Application granted granted Critical
Publication of KR102089629B1 publication Critical patent/KR102089629B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

본 발명의 다양한 실시예 중에 하나는 전자장치의 데이터 전송 장치 및 방법에 관한 것으로, 본 발명의 다양한 실시예에 따른 전자장치의 데이터 처리 방법은 네트워크 연결 시 기 설정된 제 1 MTU 값의 패킷이 목적지 노드로 전송될 수 있는지 확인하는 동작, 상기 기 설정된 제 1 MTU 값의 패킷이 목적지 노드로 전송되지 못하는 경우, IP 계층 또는 애플리케이션 계층을 통해 최적 MTU 값을 측정하는 동작 및 상기 기 설정된 제 1 MTU 값을 상기 측정된 최적 MTU 값으로 변경하는 동작을 포함할 수 있다.

Description

데이터 처리 방법 및 그 방법을 처리하는 전자장치{METHOD FOR PROCESSING DATA AND AN ELECTRONIC DEVICE THEREOF}
본 발명은 전자장치의 데이터 전송 장치 및 방법에 관한 것이다.
최근 들어 하나 또는 그 이상의 기능을 복합적으로 수행하는 컨버젼스 기능을 갖는 전자장치들이 점점 늘어나고 있다.
더욱이 전자장치들로는 소위 '스마트 폰'이라 대별되는 이동 단말기가 주류를 이루고 있다. 특히 이러한 이동 단말기는 대화면 터치 방식의 디스플레이 모듈을 구비하고 있으며, 상대방과의 통신이라는 기본적인 기능 이외에 고화소 카메라 모듈을 구비하고 있어 정지 영상 및 동영상 촬영이 가능하다. 또한, 음악, 동영상 등 멀티미디어 콘텐츠를 재생할 수 있고, 네트워크 망에 접속하여 웹 서핑을 수행할 수도 있다. 이러한 이동 단말기는 점차 고성능 프로세서를 구비함으로써 다양한 컨버젼스 기능을 좀더 빠르게 수행하도록 진보되고 있어, 상대방과의 통신이라는 주된 기능은 오히려 부가 기능으로 여겨질 정도로 눈부신 발전을 거듭하고 있다.
상기 전자장치는 무선 통신망을 통해 데이터 통신을 수행하여 사용자에게 다양한 데이터 서비스를 제공할 수 있다.
상기 전자장치는 최대 전송 단위(MTU: Maximum Transmission Unit) 사이즈의 패킷으로 데이터 통신을 수행할 수 있다. 상기 전자장치는 미리 정의된 사이즈로 분할된 패킷을 네트워크를 통해 목적지 노드로 전송할 수 있다.
상기 전자장치는 무선 통신망을 통해 데이터 통신을 수행하여 사용자에게 다양한 데이터 서비스를 제공할 수 있다.
상기 전자장치는 다수의 통신망, 예를 들어, CDMA 2000, WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), WIBRO(Wireless Broadband Internet), WiFi, WiMAX, LTE(Long Term Evolution) 등의 다양한 통신망을 통해 데이터 통신을 수행할 수 있다.
상기 전자장치는 MTU라는 단위로 데이터 통신을 수행할 수 있으며, 다양한 무선 통신망과의 호환을 위하여 고정된 MTU 값을 사용할 수 있다. 일 실시예에 따르면, 상기 전자장치에는 1500 바이트로 고정된 MTU(Hard coded MTU) 값이 설정될 수 있다.
하지만, 일부 지역 또는 일부 사업자는 상기 전자장치에 고정된 MTU보다 작은 값을 가지는 MTU를 통해서 네트워크 사용이 가능하도록 하며, 이러한 상황에서 상기 전자장치가 네트워크를 사용하기 위해서는 펌웨어 업데이트와 같은 동작으로 사업자가 요구하는 MTU 값으로 변경해야한다.
반대로, 작은 MTU로 변경한 전자장치가 다시 큰 MTU를 지원하는 네트워크를 사용하기 위해서는 펌웨어 업데이트를 통해 상기 전자장치의 MTU 값을 변경하는 동작을 재수행해야 하는 문제점이 발생한다.
전술한 과제를 해결하기 위한 한 실시예에 따르면, 전자장치의 데이터 처리 방법은 네트워크 연결 시 기 설정된 제 1 MTU 값의 패킷이 목적지 노드로 전송될 수 있는지 확인하는 동작, 상기 기 설정된 제 1 MTU 값의 패킷이 목적지 노드로 전송되지 못하는 경우, IP 계층 또는 애플리케이션 계층을 통해 최적 MTU 값을 측정하는 동작 및 상기 기 설정된 제 1 MTU 값을 상기 측정된 최적 MTU 값으로 변경하는 동작을 포함할 수 있다.
상기 최적 MTU 값 측정에 실패하는 경우, 상기 기 설정된 제 1 MTU 값을 미리 정의된 제 2 MTU 값으로 변경하는 동작을 포함하되, 상기 제 2 MTU 값은 상기 제 1 MTU 값보다 적은 값을 가질 수 있다.
상기 IP 계층을 통해 최적 MTU 값을 측정하는 동작은 상기 기 설정된 제 1 MTU 값의 ICMP(Internet Control Message Protocol) 메시지를 중간 노드로 전송하는 동작 및 상기 중간 노드로부터 ICMP 메시지에 대한 응답 메시지를 수신하는 동작을 포함할 수 있다.
상기 중간 노드로 전송되는 ICMP 메시지는 핑(Ping) 메시지를 포함할 수 있다.
상기 중간 노드로 전송되는 ICMP 메시지는 분할되어 목적지 노드로 전달되지 않도록 설정된 메시지를 포함할 수 있다.
상기 애플리케이션 계층을 통해 최적 MTU 값을 측정하는 동작은 목적지 노드로 데이터 요청을 전송하는 동작 및 상기 목적지 노드로부터 데이터 요청에 대한 응답을 수신하는 동작을 포함할 수 있다.
상기 데이터 요청은 기 설정된 제 1 MTU 값보다 작은 값의 MTU 값을 가질 수 있다.
상기 데이터 요청은 HTTP 통신을 이용하여 목적지 노드로 더미(Dummy) 데이터를 요청하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자장치는 네트워크 접속 시 최적 MTU를 확인하여 자신의 MTU로 설정함으로써 데이터 통신 성능을 향상시킬 수 있다.
도 1은 본 발명의 다양한 실시예에 따른 전자장치가 사용되는 네트워크 환경에 대한 블록도를 도시한다.
도 2는 본 발명의 다양한 실시예들에 따른 전자장치(200)의 블록도를 도시한다.
도 3는 본 발명의 다양한 실시예에 따라 MTU를 설정하기 위한 프로세서의 구성을 도시한 도면이다.
도 4는 본 발명의 다양한 실시예에 따른 전자장치의 MTU 설정 동작을 도시한 흐름도이다.
도 5는 본 발명의 다양한 실시예에 따라 IP 계층에서 최적 MTU를 측정하는 전자장치의 동작을 도시한다.
도 6은 본 발명의 다양한 실시예에 따른 전자장치의 MTU 설정 동작을 도시한 흐름도이다.
도 7은 본 발명의 다양한 실시예에 따라 애플리케이션 계층에서 최적 MTU를 측정하는 전자장치의 동작을 도시한다.
도 8은 본 발명의 다양한 실시예에 따른 전자장치의 MTU 설정 동작을 도시한 흐름도이다.
도 9는 본 발명의 다양한 실시예에 따른 전자장치에서 MTU를 설정하는 과정을 도시한 도면이다.
이하 본 발명의 다양한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 그리고, 본 발명의 다양한 실시 예를 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하 설명에서 전자장치 또는 보조 전자장치는 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 웨어러블 장치(wearable device), 전자 시계(electronic clock), 손목 시계, 냉장고, 에어컨, 청소기, 인공 지능 로봇, TV, DVD(digital video disk) 플레이어, 오디오, 오븐, 전자레인지, 세탁기, 공기 청정기, 의료기기(예를 들면, MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM), 전자 사전, 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(electronic equipment for ship, 예를 들면, 선박용 항법 장치, 자이로콤파스), 항공 전자기기(avionics), 보안 기기, 캠코더(camcorder), 게임 콘솔(game consoles), 전자장치를 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device) 및 프로젝터(projector) 중 하나 이상을 포함할 수 있다.
본 발명의 일 실시예에 따른 전자장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
도 1은 본 발명의 다양한 실시예에 따른 전자장치가 사용되는 네트워크 환경에 대한 블록도를 도시한다.
상기 도 1을 참조하면, 상기 전자장치(100)는 버스(110), 프로세서(120), 메모리(130), 사용자 입력 모듈(140), 디스플레이 모듈(150), 또는 통신 모듈(160)을 포함할 수 있다.
상기 버스(110)는 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
상기 프로세서(120)는, 예를 들면, 상기 버스(110)를 통해 전술한 다른 구성요소들(예를 들어, 메모리(130), 사용자 입력 모듈(140), 디스플레이 모듈(150), 통신 모듈(160) 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
상기 프로세서(120)는 패킷 전송을 이용하여 네트워크 흐름(network flow) 상태, 예를 들어, MTU에 의한 연결 오류가 발생하는지 확인할 수 있다. 일 실시예에 따르면, 상기 프로세서(120)는 제 1 MTU 패킷으로 네트워크 흐름 상태를 확인하도록 처리할 수 있다. 여기에서, 상기 제 1 MTU는 상기 전자장치에서 설정될 수 있는 MTU 가운데 큰 사이즈의 MTU가 될 수 있다. 상기 프로세서(120)는 네트워크에 연결하기 위하여 IP를 할당받은 후, 핸드쉐이킹 동작을 수행할 수 있다. 상기 프로세서(120)는 네트워크 연결에 성공하면, 상기 제 1 MTU 패킷 전송에 대한 패킷 재전송 여부를 판단하여 MTU에 의한 연결 오류를 확인할 수 있다.
상기 프로세서(120)는 네트워크 연결 오류가 발생된 상태에서 경로 MTU 탐색에 대한 응답을 수신하지 않는 경우, IP 계층 또는 애플리케이션 계층에서 경로 MTU를 탐색하여 최적 MTU를 확인하도록 처리할 수 있다.
상기 프로세서(120)는 기 설정된 MTU를 IP 계층 또는 애플리케이션 계층에서 확인한 최적 MTU로 변경하도록 처리할 수 있다.
다른 실시예로, 상기 프로세서(120)는 네트워크 연결 오류가 발생된 상태에서 경로 MTU 탐색에 대한 응답을 수신하지 않는 경우, 기 설정된 MTU를 제 2 MTU로 변경하도록 처리할 수 있다. 여기에서, 상기 제 2 MTU는 상기 전자장치에서 설정될 수 있는 MTU 가운데 가장 작은 사이즈의 MTU가 될 수 있다.
상기 메모리(130)는 전자장치(100)에 포함되는 하나 이상의 구성 요소(프로세서(120), 사용자 입력 모듈(140), 디스플레이 모듈(150), 통신 모듈(160))로부터 수신되거나 하나 이상의 구성 요소에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 예를 들어, 상기 메모리(130)는 상기 전자장치에 설정될 수 있는 다수의 MTU 정보를 저장할 수 있다.
상기 메모리(130)는 커널(kernel)(131), 미들웨어(middleware)(132), 애플리케이션 프로그래밍 인터페이스(API: application programming interface)(133) 및 애플리케이션(application)(134)과 같은 프로그래밍 모듈들을 포함할 수 있다. 이때, 각각의 프로그래밍 모듈은 소프트웨어(software), 펌웨어(firmware) 및 하드웨어(hardware) 중 하나 이상을 포함할 수 있다.
상기 커널(131)은 메모리(130)에 포함되는 다른 프로그래밍 모듈(예를 들어, 미들웨어(132) 또는 API(133) 또는 애플리케이션(134))에 의해 구현되는 동작 또는 기능을 실행하는데 사용되는 하나 이상의 시스템 자원을 제어 또는 관리할 수 있다. 상기 커널(131)은 미들웨어(132), API(133) 및 애플리케이션(134) 중 적어도 하나에서 전자장치(100)의 개별 구성요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공한다. 여기서, 시스템 자원은 버스(110), 프로세서(120) 및 메모리(130) 중 하나 이상을 포함할 수 있다.
상기 미들웨어(132)는 API(133) 또는 애플리케이션(134)이 커널(131)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행한다. 또한, 상기 미들웨어(132)는 하나 이상의 애플리케이션(134)으로부터 수신된 작업 요청들에 대한 균등한 자원 분배(load balancing)를 수행한다.
상기 미들웨어(132)는 애플리케이션(134)이 전자장치(100) 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API(133)를 통해 기능을 제공한다. 또한, 미들웨어(132)는 애플리케이션(134)이 공통적으로 필요로 하는 기능을 제공하기 위해 미리 구현된 다수 개의 모듈들을 포함할 수 있다.
상기 API(133)는 애플리케이션(134)이 커널(131) 또는 미들웨어(132)에서 제공하는 기능을 제어할 수 있는 인터페이스를 포함한다. 예를 들어, 상기 API(133)는 파일 제어, 창 제어, 화상 처리 또는 텍스트 제어와 같은 하나 이상의 인터페이스 또는 함수를 포함할 수 있다.
상기 사용자 입력 모듈(140)은, 예를 들면, 사용자로부터 명령 또는 데이터를 입력받아 버스(110)를 통해 프로세서(120), 메모리(130)에 전달할 수 있다. 일 실시예에 따르면, 상기 사용자 입력 모율(140)은 터치패널, 키패드, 펜센서 등을 포함할 수 있으며, 공유 데이터 설정을 위한 입력을 발생시킬 수 있다.
상기 디스플레이 모듈(150)은 사용자에게 화상, 영상 또는 데이터 등을 표시할 수 있다.
상기 통신 모듈(160)은 다른 전자장치(102)와 전자장치(100) 간의 통신 또는 서버(164)와 전자장치(100) 간의 통신을 연결할 수 있다. 일 실시예에 따르면, 상기 통신 모듈(160)은 제 1 보조 전자장치와의 통신을 연결하는 제 1 통신 모듈과 제 2 전자장치와의 통신을 연결하는 제 2 통신 모듈을 포함할 수 있다. 다른 실시예에 따르면, 상기 통신 모듈(160)은 제 2 보조 전자장치와의 통신을 연결하는 제 1 통신 모듈과 제 2 전자장치와의 통신을 연결하는 제 2 통신 모듈을 포함할 수 있다.
상기 통신 모듈(160)은 소정의 근거리 통신 프로토콜(예: Wifi(Wireless Fidelity), BT(Bluetooth), NFC(Near Field Communication) 또는 소정의 네트웍 통신(예: Internet, LAN(Local area Network), WAN(Wire Area Network), telecommunication network, cellular network, satellite network 또는 POTS(Plain Old Telephone service) 등)을 지원할 수 있다. 전자장치(102, 104) 각각은 상기 전자장치(100)와 동일한(예: 같은 타입의) 장치이거나 또는 다른(예: 다른 타입의) 장치일 수 있다. 상기 전자장치(100)와 통신하는 다른 전자장치(102)는 제 1 보조 전자장치, 제 2 보조 전자장치, 제 2 전자장치 등이 될 수 있다.
도 2는 본 발명의 다양한 실시예들에 따른 전자장치(200)의 블록도를 도시한다. 상기 하드웨어(200)는, 예를 들면, 도 1에 도시된 전자장치(100)일 수 있다. 도 2를 참조하면, 상기 하드웨어(200)는 하나 이상의 프로세서(210), SIM(subscriber identification module) 카드(214), 메모리(220), 통신 모듈(230), 센서 모듈(240), 사용자 입력 모듈(250), 디스플레이 모듈(260), 인터페이스(270), 오디오 코덱(280), 카메라 모듈(291), 전력관리 모듈(295), 배터리(296), 인디케이터(297) 또는 모터(298)를 포함할 수 있다.
상기 프로세서(210)(예: 상기 프로세서(120)는 하나 이상의 어플리케이션 프로세서(AP: application processor)(211) 또는 하나 이상의 커뮤니케이션 프로세서(CP: communication processor)(213)를 포함할 수 있다. 상기 도 2에서는 상기 AP(211) 및 상기 CP(213)가 프로세서(210) 내에 포함된 것으로 도시되었으나, 상기 AP(211)와 상기 CP(213)는 서로 다른 IC 패키지들 내에 각각 포함될 수 있다. 한 실시예에서는 상기 AP(211) 및 상기 CP(213)는 하나의 IC 패키지 내에 포함될 수 있다.
상기 AP(211)는 운영체제 또는 응용 프로그램을 구동하여 상기 AP(211)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어하고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP(211)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 상기 프로세서(210)는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
상기 CP(213)는 상기 하드웨어(200)를 포함하는 전자장치와 네트워크로 연결된 다른 전자장치들 간의 통신에서 데이터 링크를 관리하고 통신 프로토콜을 변환하는 기능을 수행할 수 있다. 상기 CP(213)는, 예를 들면, SoC로 구현될 수 있다. 한 실시예에 따르면, 상기 CP(213)는 멀티미디어 제어 기능의 적어도 일부를 수행할 수 있다. 상기 CP(213)는, 예를 들면, 가입자 식별 모듈(예: SIM 카드(214))을 이용하여 통신 네트워크 내에서 전자장치의 구별 및 인증을 수행할 수 있다. 또한, 상기 CP(213)는 사용자에게 음성 통화, 영상 통화, 문자 메시지 또는 패킷 데이터(packet data) 등의 서비스들을 제공할 수 있다.
또한, 상기 CP(213)는 상기 통신 모듈(230)의 데이터 송수신을 제어할 수 있다. 도 2에서는, 상기 CP(213), 상기 전력관리 모듈(295) 또는 상기 메모리(220) 등의 구성요소들이 상기 AP(211)와 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, 상기 AP(211)가 전술한 구성요소들의 적어도 일부(예: 상기 CP(213))를 포함하도록 구현될 수 있다.
또한, 상기 CP(213)는 상기 도 1에 도시된 프로세서(120)일 수도 있다.
한 실시예에 따르면, 상기 AP(211) 또는 상기 CP(213)는 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP(211) 또는 상기 CP(213)는 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 SIM 카드(214)는 가입자 식별 모듈을 구현한 카드일 수 있으며, 전자장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 SIM 카드(214)는 고유한 식별 정보(예: ICCID(integrated circuit card identifier))또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
상기 메모리(220)는 내장 메모리(222) 또는 외장 메모리(224)를 포함할 수 있다. 상기 메모리(220)는, 예를 들면, 도 1에 도시된 메모리(130)일 수 있다. 상기 내장 메모리(222)는, 예를 들면, 휘발성 메모리(예를 들면, DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등) 또는 비휘발성 메모리(non-volatile Memory, 예를 들면, OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 상기 내장 메모리(222)는 Solid State Drive (SSD)의 형태를 취할 수도 있다. 상기 외장 메모리(224)는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다.
상기 통신 모듈(230)은 무선 통신 모듈(231) 또는 RF 모듈(234)을 포함할 수 있다. 상기 통신 모듈(230)은, 예를 들면, 도 1에 도시된 통신 모듈(160)일 수 있다. 상기 무선 통신 모듈(231)은, 예를 들면, WiFi(233), BT(bluetooth)(235), GPS(237) 또는 NFC(near field communication)(239)를 포함할 수 있다. 예를 들면, 상기 무선 통신 모듈(231)은 무선 주파수를 이용하여 무선 통신 기능을 제공할 수 있다. 추가적으로 또는 대체적으로, 상기 무선 통신 모듈(231)은 상기 하드웨어(200)를 네트워크(예: Internet, LAN(local area network), WAN(wire area network), telecommunication network, cellular network, satellite network 또는 POTS(plain old telephone service) 등)와 연결시키기 위한 네트워크 인터페이스(예: LAN card) 또는 모뎀 등을 포함할 수 있다.
상기 RF 모듈(234)은 데이터의 송수신, 예를 들면, RF 신호 또는 호출된 전자 신호의 송수신을 담당할 수 있다. 상기 RF 모듈(234)은, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, 상기 RF 모듈(234)은 무선통신에서 자유공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다.
상기 센서 모듈(240)은, 예를 들면, 제스처 센서(240A, 자이로 센서 240B, 기압 센서 240C, 마그네틱 센서 240D, 가속도 센서 240E, 그립 센서 240F, 근접 센서 240G, RGB(red, green, blue) 센서 240H, 생체 센서 240I, 온/습도 센서 240J, 조도 센서 240K 또는 UV(ultra violet) 센서 240M중의 적어도 하나를 포함할 수 있다. 상기 센서 모듈(240)은 물리량을 계측하거나 전자장치의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 추가적으로/대체적으로, 상기 센서 모듈(240)은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시) 또는 지문 센서 등을 포함할 수 있다. 상기 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어회로를 더 포함할 수 있다.
상기 사용자 입력 모듈(250)은 터치 패널(touch panel)(252), (디지털) 펜 센서(pen sensor)(254), 키(key)(256) 또는 초음파 입력 장치(258)를 포함할 수 있다. 상기 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널(252)은 컨트롤러(미도시)를 더 포함할 수도 있다. 정전식의 경우, 직접 터치뿐만 아니라 근접 인식도 가능하다. 상기 터치 패널(252)은 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널(252)은 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서(254)는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키(256)로서, 예를 들면, 키패드 또는 터치 키가 이용될 수 있다. 상기 초음파 입력 장치(258)는 초음파 신호를 발생하는 펜을 통해, 전자장치에서 마이크(예: 마이크(288))로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시예에 따르면, 상기 하드웨어(200)는 상기 통신 모듈(230)를 이용하여 이와 연결된 외부 장치(예: 네트워크, 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이 모듈(260)은 패널(262) 또는 홀로그램(264)을 포함할 수 있다. 상기 패널(262)은, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 상기 패널(262)은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널(262)은 상기 터치 패널(252)과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램(264)은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 한 실시예에 따르면, 상기 디스플레이 모듈(260)은 상기 패널(262) 또는 상기 홀로그램(264)을 제어하기 위한 제어회로를 더 포함할 수 있다.
상기 인터페이스(270)는, 예를 들면, HDMI(high-definition multimedia interface)(272), USB(universal serial bus)(274), 프로젝터(276) 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스(270)는, 예를 들면, SD(secure Digital)/MMC(multi-media card)(미도시) 또는 IrDA(infrared data association, 미도시)를 포함할 수 있다.
상기 오디오 코덱(280)은 음성과 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 코덱(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286) 또는 마이크(288) 등을 통해 입력 또는 출력되는 음성 정보를 변환시킬 수 있다.
상기 카메라 모듈(291)은 화상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 렌즈 또는 후면 렌즈), ISP(image signal processor, 미도시) 또는 플래쉬 LED(flash LED, 미도시)를 포함할 수 있다.
상기 전력관리 모듈(295)은 상기 하드웨어(200)의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력관리 모듈(295)은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 게이지(battery fuel gauge)를 포함할 수 있다.
상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 정류기 등의 회로가 추가될 수 있다.
상기 배터리 게이지는, 예를 들면, 상기 배터리(296)의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리(296)는 전기를 생성하여 전원을 공급할 수 있고, 예를 들면, 충전식 전지(rechargeable battery)일 수 있다.
상기 인디케이터(297)는 상기 하드웨어(200) 혹은 그 일부(예: 상기 AP(211))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있다. 상기 MCU(299)은, 상기 센서 모듈(240)을 제어할 수 있다.
도시되지는 않았으나, 상기 하드웨어(200)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다. 본 발명에 따른 하드웨어의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자장치의 종류에 따라서 달라질 수 있다. 본 발명에 따른 하드웨어는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 발명에 따른 하드웨어의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 3는 본 발명의 다양한 실시예에 따라 MTU를 설정하기 위한 프로세서의 구성을 도시한 도면이다.
상기 도 3을 참조하면, 상기 프로세서(300)는 네트워크 접속을 시 최적 MTU를 확인하기 위한 소스 노드의 구성으로, 네트워크 상태 확인부(310), 최적 MTU 확인부(320) 및, MTU 설정부(330)를 포함하여 구성될 수 있다.
상기 프로세서(300)의 네트워크 상태 확인부(310)는 네트워크 흐름(network flow) 상태, 예를 들어, MTU에 의한 연결 오류가 발생하는지 확인할 수 있다.
상기 네트워크 상태 확인부(310)는 IP를 할당받은 후, 핸드쉐이킹 동작을 수행하여 네트워크에 연결할 수 있으며, 네트워크 연결에 성공하면, 제 1 MTU 패킷에 대한 재전송 여부를 기반으로 네트워크 흐름 상태를 확인할 수 있다. 본 발명의 다양한 실시예에 따르면, 상기 제 1 MTU는 소스노드에서 설정될 수 있는 MTU 가운데 가장 큰 사이즈의 MTU가 될 수 있으며, 상기 네트워크 상태 확인부(310)는 전송된 패킷에 대한 응답을 수신하지 않을 경우, MTU에 의한 연결 오류가 발생하였다고 판단할 수 있다.
상기 최적 MTU 확인부(320)는 소스 노드와 목적지 노드 사이의 최적 MTU를 확인할 수 있다.
일 실시예에 따르면, 상기 최적 MTU 확인부(320)는 네트워크 연결 오류가 발생된 상태에서 IP 계층 또는 애플리케이션 계층 등을 통해 최적 MTU를 확인하도록 처리할 수 있다.
상기 IP 계층을 통해 최적 MTU를 확인하기 위하여 상기 최적 MTU 확인부(320)는 중간 노드 또는 목적지 노드로 제 1 MTU 패킷(예를 들어, 소스 노드에서 설정될 수 있는 가장 큰 사이즈의 MTU 패킷)에 대한 응답 메시지를 요청할 수 있다. 일 실시예에 따르면, 상기 최적 MTU 확인부(320)는 제 1 MTU 패킷에 대한 응답 메시지를 수신하기 위하여 ICMP(Internet Control Message Protocol) 메시지를 전송할 수 있다. 일 실시예에 따르면, 상기 ICMP(Internet Control Message Protocol)는 중간 노드 또는 목적지 노드로 전송되는 핑 메시지를 포함할 수 있다. 일 실시예에 따르면, 상기 최적 MTU 확인부(320)는 ICMP 메시지가 분할되어 목적지 노드로 전송되지 않도록 처리할 수 있다.
상기 애플리케이션 계층을 통해 최적 MTU를 확인하기 위하여 상기 최적 MTU 확인부(320)는 목적지 노드로 제 2 MTU 패킷(예를 들어, 소스 노드에서 설정될 수 있는 가장 작은 사이즈의 MTU 패킷)에 대한 응답을 요청할 수 있다. 일 실시예에 따르면, 상기 최적 MTU 확인부(320)는 목적지 노드로 더미 데이터를 전송함으로써 응답을 요청할 수 있다. 일 실시예에 따르면, 상기 더미 데이터는 HTTP 통신을 이용하여 전송될 수 있다. 상기 최적 MTU 확인부(320)는 본 발명의 다양한 실시예에 따라, 가장 작은 사이즈의 MTU 패킷에 대한 응답을 요청하는 것으로, 이를 한정하는 것은 아니다. 예를 들어, 상기 최적 MTU 확인부(320)는 상기 소스 노드에서 설정할 수 있는 MTU 사이즈를 순차적 또는 임의로 결정된 패킷에 대한 응답을 요청할 수 있다.
상기 최적 MTU 확인부(320)는 IP 계층 또는 애플리케이션 계층 등을 통해 전송된 패킷에 대한 응답을 기반으로 최적 MTU를 확인할 수 있다.
다른 실시예에 따라, 상기 최적 MTU 확인부(320)는 네트워크 연결 오류가 발생된 상태가 확인되면, 상기 소스 노드에서 설정될 수 있는 가장 작은 사이즈의 MTU를 최적 MTU로 정의할 수 있다.
상기 MTU 설정부(330)는 기 설정된 MTU를 상기 최적 MTU 확인부에 의해 확인된 최적 MTU로 변경하도록 처리할 수 있다.
도 4는 본 발명의 다양한 실시예에 따른 전자장치의 MTU 설정 동작을 도시한 흐름도이다.
상기 도 4를 참조하면, 상기 전자장치는 적어도 두 개 이상의 고정된 MTU 값이 설정될 수 있다. 여기에서, 상기 MTU는 사업자 또는 특정 지역에 대응되는 MTU로, 일 실시예에 따르면, 상기 전자장치에서 설정될 수 있는 MTU 가운데 큰 사이즈의 제 1 MTU와 상기 전자장치에서 설정될 수 있는 MTU 가운데 작은 사이즈의 제 2 MTU를 포함할 수 있다.
상기 전자장치는 동작 401과 같이 제 1 MTU 패킷을 이용하여 네트워크 흐름 상태를 확인할 수 있으며, 동작 403과 같이 MTU 오류로 인한 네트워크 연결 오류가 발생하는지 확인할 수 있다.
일 실시예에 따르면, 상기 전자장치는 네트워크에 연결하기 위하여 IP를 할당받은 후, 핸드쉐이킹 동작을 수행함으로써 네트워크 연결을 시도할 수 있으며, 네트워크 연결을 시도한 후, 상기 제 1 MTU 패킷을 전송한 후, 응답이 수신되지 않을 경우, MTU 오류로 네트워크 연결에 오류가 발생됨을 확인할 수 있다.
상기 전자장치는 동작 405와 같이 MTU 오류로 인한 네트워크 연결 오류가 확인되면, IP 계층에서 최적 MTU를 측정할 수 있다.
일 실시예에 따르면, 상기 전자장치는 중간 노드 또는 목적지 노드로부터 제 1 MTU 패킷에 대한 응답 메시지를 수신하기 위하여 ICMP(Internet Control Message Protocol) 메시지를 전송할 수 있다. 일 실시예에 따르면, 상기 전자장치는 제 1 MTU에 해당하는 핑 메시지를 중간 노드 및 목적지 노드로 전송할 수 있다. 일 실시예에 따르면, 상기 전자장치는 ICMP 메시지가 분할되어 목적지 노드로 전송되지 않도록 처리할 수 있다. 예를 들어, 상기 전자장치는 ICMP의 헤더에 DF(Don’t Fragment) 비트를 설정한 후, 중간 노드 및 목적지 노드로 전송할 수 있다.
상기 전자장치는 동작 407과 같이 IP 계층을 통해서 최적 MTU를 측정하였는지 확인한다. 일 실시예에 따르면, 상기 전자장치는 중간 노드 또는 목적지 노드로 전송한 패킷에 대한 응답 메시지의 수신 여부를 기반으로 최적 MTU를 측정할 수 있다. 예를 들어, MTU 오류로 인한 네트워크 연결 오류가 발생함에 따라, 상기 ICMP 메시지가 목적지 노드로 전송될 수 없음으로, 상기 전자장치는 ICMP 메시지에 대한 응답을 중간 노드를 통해 수신할 수 있다. 상기 ICMP 메시지에 대한 응답은 중간 노드로부터 제 1 MTU에 해당하는 메시지가 목적지 노드로 전송될 수 없음을 알리는 메시지가 될 수 있다. 상기 전자장치는 응답 메시지를 수신하는 경우, 경로 MTU 탐색 동작을 수행함으로 최적 MTU를 측정할 수 있다.
더하여, 중간 노드에 의해 전송되는 응답 메시지의 유실에 의해 상기 전자장치로 응답 메시지가 전송되지 않을 수 있다. 상기 전자장치는 응답 메시지를 수신하지 않는 경우, 최적 MTU를 측정하지 못할 수 있다.
상기 전자장치는 동작 409와 같이 최적 MTU를 측정하는 경우, 기존 MTU를 측정된 최적 MTU, 예를 들어, 경로 MTU 탐색 동작으로 측정된 MTU로 변경할 수 있다.
상기 전자장치는 동작 411와 같이 최적 MTU를 측정하지 못하는 경우, 기존 MTU를 제 2 MTU로 변경할 수 있다. 상기 전자장치는 최적 MTU 측정이 실패하는 경우, 상기 전자장치에서 설정될 수 있는 작은 사이즈의 MTU로 강제로 변경할 수 있다.
도 5는 본 발명의 다양한 실시예에 따라 IP 계층에서 최적 MTU를 측정하는 전자장치의 동작을 도시한다.
상기 도 5를 참조하면, 상기 전자장치는 ICMP 메시지를 전송함으로써 최적 MTU를 측정할 수 있다. 상기 전자장치는 ICMP 메시지에 대한 응답을 기반으로 경로 MTU를 확인하고, 확인된 경로 MTU를 최적 MTU로 사용할 수 있다.
다른 실시예에 따르면, 상기 전자장치는 ICMP 메시지에 대한 응답을 수신하지 못하는 경우, 상기 전자장치에서 설정될 수 있는 작은 사이즈의 MTU를 최적 MTU로 사용할 수 있다.
상기 전자장치는 동작 501과 같이 상기 전자장치에 설정될 수 있는 큰 사이즈의 MTU를 이용하여 ICMP 메시지를 목적지 노드로 전송할 수 있다. 상기 ICMP 메시지는 중간 노드에서 분할되지 않도록 하는 DF(Don’t Fragment) 비트를 설정될 수 있다.
상기 전자장치는 동작 503과 같이 중간 노드를 통해 ICMP 메시지에 대한 응답 메시지를 수신할 수 있다. 상기 전자장치는 중간 노드에서 전송되는 ICMP 에러 메시지를 수신할 수 있다. 상기 ICMP 에러 메시지는 ICMP 메시지의 MTU보다 중간 노드의 MTU가 작아서 ICMP 메시지를 통과시킬 수 없는 중간 노드의 MTU값이 포함될 수 있다.
상기 전자장치는 505와 같이 ICMP 에러 메시지에 포함된 중간 노드의 MTU를 최적 MTU로 정의할 수 있다.
도 6은 본 발명의 다양한 실시예에 따른 전자장치의 MTU 설정 동작을 도시한 흐름도이다.
상기 도 6을 참조하면, 상기 전자장치는 적어도 두 개 이상의 MTU를 정의하여 네트워크 연결에 사용할 수 있다. 여기에서, 상기 MTU는 사업자 또는 특정 지역에 대응되는 MTU로 상기 전자장치에서 설정될 수 있는 MTU 가운데 큰 사이즈의 제 1 MTU와 상기 전자장치에서 설정될 수 있는 MTU 가운데 작은 사이즈의 제 2 MTU를 포함할 수 있다.
상기 전자장치는 동작 601과 같이 제 1 MTU 패킷을 이용하여 네트워크 상태를 확인할 수 있다.
상기 전자장치는 동작 603과 같이 MTU 오류로 인한 네트워크 연결 오류가 발생하는지 확인할 수 있다.
일 실시예에 따르면, 상기 전자장치는 네트워크에 연결하기 위하여 IP를 할당받은 후, 핸드쉐이킹 동작을 수행함으로써 네트워크 연결을 시도할 수 있으며, 네트워크 연결을 시도한 후, 상기 제 1 MTU 패킷을 전송한 후, 응답이 수신되지 않을 경우, 네트워크 연결에 오류가 발생됨을 확인할 수 있다.
상기 전자장치는 동작 605와 같이 MTU 오류로 인한 네트워크 연결 오류가 확인되면, 애플리케이션 계층에서 최적 MTU를 측정할 수 있다.
일 실시예에 따르면, 상기 전자장치는 목적지 노드로 더미 데이터를 요청하여 응답을 수신할 수 있다. 상기 전자장치는 HTTP 통신을 이용하여 더미 데이터를 요청할 수 있다. 상기 전자장치는 상기 전자장치에서 설정할 수 있는 사이즈의 MTU 가운데 임의의 MTU를 기반으로 더미 데이터를 요청할 수 있다. 일 실시예에 따르면, 상기 전자장치는 상기 전자장치에서 설정할 수 있는 사이즈의 MTU를 순차적으로 이용하여 더미 데이터를 요청할 수 있다.
상기 전자장치는 동작 607과 같이 애플리케이션 계층을 통해서 최적 MTU를 측정하였는지 확인한다. 일 실시예에 따르면, 상기 전자장치는 목적지 노드로 전송한 패킷에 대한 응답 메시지의 수신 여부를 기반으로 최적 MTU를 측정할 수 있다. 예를 들어, 상기 전자장치는 상기 목적지 노드로 더미 데이터 요청에 대한 응답을 수신하는 경우, 더미 데이터 요청에 해당하는 MTU를 최적 MTU로 정의할 수 있다.
상기 전자장치는 동작 609와 같이 기존 MTU를 측정된 최적 MTU, 예를 들어, 응답에 상응하는 더미 데이터 요청에 해당하는 MTU로 변경할 수 있다.
상기 전자장치는 동작 611와 같이 최적 MTU를 측정하지 못하는 경우, 기존 MTU를 제 2 MTU로 변경할 수 있다. 상기 전자장치는 최적 MTU 측정이 실패하는 경우, 상기 전자장치에서 설정될 수 있는 작은 사이즈의 MTU로 강제로 변경할 수 있다.
도 7은 본 발명의 다양한 실시예에 따라 애플리케이션 계층에서 최적 MTU를 측정하는 전자장치의 동작을 도시한다.
상기 도 7을 참조하면, 상기 전자장치는 목적지 노드로 더미 데이터를 요청함으로써 최적 MTU를 측정할 수 있다.
상기 전자장치는 동작 701과 같이 임의의 MTU를 기반으로 더미 데이터를 요청할 수 있다. 여기에서, 상기 전자장치는 제 1 MTU 패킷을 이용하여 MTU 오류로 인한 네트워크 연결 오류가 발생하는지 확인한 경우, 상기 제 1 MTU를 제외한 임의의 MTU를 기반으로 더미 데이터를 요청할 수 있다.
상기 전자장치는 동작 703과 같이 목적지 노드로부터 더미 데이터에 대한 응답을 수신할 수 있다. 일 실시예에 따르면, 상기 전자장치는 임의로 선택된 MTU에 해당하는 더미 데이터 요청이 목적지 노드로 전송되는 경우에만 상기 목적지 노드로부터 응답을 수신할 수 있다.
상기 전자장치는 동작 705와 같이 목적지 노드로 더미 데이터 요청에 대한 응답을 수신하는 경우, 더미 데이터 요청에 해당하는 MTU를 최적 MTU로 정의할 수 있다.
도 8은 본 발명의 다양한 실시예에 따른 전자장치의 MTU 설정 동작을 도시한 흐름도이다.
상기 도 8을 참조하면, 상기 전자장치는 적어도 두 개 이상의 MTU를 정의하여 네트워크 연결에 사용할 수 있다. 여기에서, 상기 MTU는 사업자 또는 특정 지역에 대응되는 MTU로 상기 전자장치에서 설정될 수 있는 MTU 가운데 큰 사이즈의 제 1 MTU와 상기 전자장치에서 설정될 수 있는 MTU 가운데 작은 사이즈의 제 2 MTU를 포함할 수 있다.
상기 전자장치는 동작 801과 같이 네트워크 연결 동작을 수행할 수 있다. 일 실시예에 따르면, 상기 전자장치는 IP를 할당받은 후, 핸드쉐이킹 동작을 수행함으로써 네트워크 연결 동작을 수행할 수 있다.
상기 전자장치는 동작 803과 같이 네트워크 상태를 확인할 수 있다. 일 실시예에 따르면, 상기 전자장치는 제 1 MTU 패킷을 전송함으로써 네트워크 상태를 확인할 수 있다.
상기 전자장치는 동작 805와 같이 제 1 MTU 패킷에 대한 손실 여부를 확인할 수 있다. 상기 전자장치는 상기 제 1 MTU 패킷에 대한 응답 수신 여부를 기반으로 패킷 손실 여부를 판단할 수 있다.
상기 전자장치는 동작 821과 같이 제 1 MTU 패킷에 대한 패킷 손실이 발생되지 않을 경우, 기존 MTU를 상기 제 1 MTU로 변경할 수 있다.
상기 전자장치는 동작 807과 같이 제 1 MTU 패킷에 대한 패킷 손실이 발생되는 경우, 경로 MTU 탐색 동작을 수행할 수 있다.
상기 전자장치는 자신의 최대 MTU에 해당하는 패킷을 전송하고, 중간 노드로부터 수신하는 응답, 예를 들어, ICMP 메시지를 이용하여 최적 MTU를 확인하는 경로 MTU 탐색 동작을 수행할 수 있다.
상기 전자장치는 동작 809와 같이 경로 MTU 탐색 동작에 대한 응답이 유실되는지 확인할 수 있다. 여기에서, 상기 응답 유실은 상기 전자장치에서 응답을 수신하지 못하는 상황을 의미한다.
상기 전자장치는 동작 811과 같이 탐색 동작에 대한 응답이 유실되는 경우, IP 계층을 통해 경로 MTU 탐색 동작을 수행할 수 있다.
일 실시예에 따르면, 상기 전자장치는 중간 노드 또는 목적지 노드로부터 제 1 MTU 패킷에 대한 응답 메시지를 수신하기 위하여 ICMP(Internet Control Message Protocol) 메시지를 전송할 수 있다. 일 실시예에 따르면, 상기 전자장치는 제 1 MTU에 해당하는 핑 메시지를 중간 노드 및 목적지 노드로 전송할 수 있다. 일 실시예에 따르면, 상기 전자장치는 ICMP 메시지가 분할되어 목적지 노드로 전송되지 않도록 처리할 수 있다. 예를 들어, 상기 전자장치는 ICMP의 헤더에 DF(Don’t Fragment) 비트를 설정한 후, 중간 노드 및 목적지 노드로 전송할 수 있다.
상기 전자장치는 동작 813과 같이 IP 계층에서의 경로 MTU 탐색 동작에 대한 응답이 유실되는지 확인할 수 있다. 일 실시예로, 상기 전자장치는 제 1 MTU에 해당하는 핑 메시지에 대한 응답을 수신하는지 확인할 수 있다.
상기 전자장치는 동작 823과 같이 IP 계층에서 탐색 동작에 대한 응답이 유실되지 않는 경우, 수신되는 응답을 기반으로 최적 MTU를 결정할 수 있으며, 동작 825와 같이 기존 MTU를 최적 MTU로 변경하는 동작을 수행할 수 있다.
상기 전자장치는 동작 815와 같이 IP 계층에서 탐색 동작에 대한 응답이 유실되는 경우, 애플리케이션 계층을 통해 경로 MTU 탐색 동작을 수행할 수 있다. 상기 전자장치는 목적지 노드로 더미 데이터를 요청하여 응답을 수신함으로써 경로 MTU 탐색 동작을 수행할 수 있다.
상기 전자장치는 동작 817과 같이 애플리케이션 계층에서의 경로 MTU 탐색 동작에 대한 응답이 유실되는지 확인할 수 있다. 일 실시예에 따르면, 상기 전자장치는 더미 데이터 요청에 대한 응답을 수신하는지 확인할 수 있다.
상기 전자장치는 동작 823과 같이 애플리케이션 계층에서 탐색 동작에 대한 응답이 유실되지 않는 경우, 수신되는 응답을 기반으로 최적 MTU를 결정할 수 있으며, 동작 825와 같이 기존 MTU를 최적 MTU로 변경하는 동작을 수행할 수 있다.
상기 전자장치는 동작 819와 같이 애플리케이션 계층에서의 응답이 유실되는 경우 기존 MTU를 제 2 MTU로 변경할 수 있다. 상기 전자장치는 최적 MTU 측정이 실패하는 경우, 상기 전자장치에서 설정될 수 있는 가장 작은 사이즈의 MTU로 강제로 변경할 수 있다.
도 9는 본 발명의 다양한 실시예에 따른 전자장치에서 MTU를 설정하는 과정을 도시한 도면이다.
상기 도 9를 참조하면, 소스 노드에 해당하는 전자장치는 중간 노드(노드 A, 노드 B)를 통해 목적지 노드인 서버에 대한 최적 MTU를 설정할 수 있다.
상기 소스 노드는 MTU 오류로 인한 네트워크 연결 오류가 발생하는지 확인하는 경우, 경로 MTU 탐색 동작을 통해 최적 MTU할 수 있다.
일 실시예에 따르면, 상기 소스 노드는 자신의 MTU 크기, 예를 들어, 1500 바이트에 해당하는 패킷을 생성하여 중간 노드를 통해 목적지 노드로 전송할 수 있다.
상기 중간 노드는 상기 소스 노드에 의해 전송된 패킷과 자신의 MTU를 비교하여 수신된 패킷이 자신의 MTU보다 작은 경우에 다음 중간 노드 또는 목적지 노드로 전송할 수 있다.
더하여, 상기 중간 노드는 수신된 패킷이 자신의 MTU보다 큰 경우, 패킷을 폐기하고 소스 노드로 ICMP 메시지를 전송할 수 있다. 상기 IMCP 메시지는 상기 중간 노드의 MTU 정보가 포함되며, 소스 노드에 전송된 패킷이 중간 노드의 MTU에 의해 목적지 노드로 전송될 수 없음을 나타낼 수 있다.
상기 ICMP 메시지를 수신한 소스 노드는 ICMP 메시지에 포함된 MTU에 맞게 패킷을 재생성하여 중간 노드를 통해 목적지 노드로 전송할 수 있다.
도 9(a)에 도시된 바와 같이 상기 경로 MTU 탐색 동작은 IP 계층의 ICMP 프로토콜을 이용하여 수행될 수 있다. 도시된 도면은 중간 노드에 의해 전송되는 ICMP 메시지를 기반으로 최적 MTU을 확인하는 동작을 도시하고 있다.
일반적으로 중간 노드 및 목적지 노드의 MTU가 상기 소스 노드의 MTU보다 작은 경우, IMCP 메시지를 수신하지 않을 수 있다. 하지만, 상기와 같이 MTU 오류로 인한 네트워크 연결 오류가 발생한 상황에서는 IMCP 메시지가 수신되어야 하며, IMCP 메시지가 수신되지 않는 것은 네트워크에서 IMCP 메시지가 유실된 상황이 될 수 있다.
상기 소스 노드는 자신의 MTU 크기로 패킷을 전송한 후, 미리 정의된 시간 동안 IMCP 메시지가 수신되는지 확인할 수 있다.
상기 소스 노드는 미리 정의된 시간 동안 IMCP 메시지가 수신되지 않는 경우, IP 계층의 ICMP 프로토콜을 이용하여 수행될 수 있다.
상기 소스 노드는 도 9(b)에 도시된 바와 같이 중간 노드 또는 목적지 노드로부터 패킷에 대한 응답 메시지를 수신하기 위하여 소스 노드에서 설정될 수 있는 가장 큰 사이즈의 MTU에 해당하는 핑 메시지를 상기 중간 노드로 전송할 수 있다. 상기 소스 노드는 핑 메시지가 분할되어 목적지 노드로 전송되지 않도록 처리할 수 있다.
상기 중간 노드는 수신된 패킷이 자신의 MTU보다 큰 경우, 패킷을 폐기하고 소스 노드로 ICMP 메시지를 전송할 수 있다. 상기 IMCP 메시지는 상기 중간 노드의 MTU 정보가 포함되며, 소스 노드에 전송된 패킷이 중간 노드의 MTU에 의해 목적지 노드로 전송될 수 없음을 나타낼 수 있다.
상기 ICMP 메시지를 수신한 소스 노드는 ICMP 메시지에 포함된 MTU에 맞게 패킷을 재생성하여 중간 노드를 통해 목적지 노드로 전송할 수 있다.
상기 도 9(b)는 소스 노드에 의해 전송되는 ICMP 메시지를 기반으로 최적 MTU을 확인하는 동작을 도시하고 있다.
상기 소스 노드는 자신의 MTU 크기로 패킷을 전송한 후, 미리 정의된 시간 동안 IMCP 메시지가 수신되는지 확인할 수 있다.
상기 소스 노드는 미리 정의된 시간 동안 IMCP 메시지가 수신되지 않는 경우, 애플리케이션 계층을 통해 경로 MTU 탐색 동작을 수행할 수 있다.
상기 소스 노드는 중간 노드로 더미 데이터를 요청하여 응답을 수신함으로써 경로 MTU 탐색 동작을 수행할 수 있다.
일 실시예에 따르면, 상기 소스 노드는 도 9(c)에 도시된 바와 같이 HTTP 통신을 이용하여 더미 데이터를 요청할 수 있다. 상기 소스 노드는 상기 소스 노드에서 설정될 수 있는 가장 작은 사이즈의 MTU에 해당하는 요청에 대한 응답을 기반으로 최적 MTU을 확인하는 동작을 도시하고 있다.
상기 도 9에서는 최적 MTU를 확인하기 위한 동작이 도 9(a), 도 9(b), 도 9(c)의 동작 순으로 순차적으로 수행되는 것으로 기재하였으나, 본 발명의 다양한 실시예는 상기 도 9에서 언급한 적어도 하나 이상의 동작을 수행함으로써 최적 MTU를 확인할 수 있다.
일 실시예에 따르면, 최적 MTU를 측정하기 위한 이벤트가 발생되면, 소스 노드는 상기 도 9(a), 도 9(b), 도 9(c) 가운데 하나의 동작을 수행하여 최적 MTU를 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, 도 9(d)에 도시된 바와 같이 MTU 오류로 인한 네트워크 연결 오류가 발생한 상태에서 자신의 MTU 크기, 예를 들어, 1500 바이트에 해당하는 패킷을 생성하여 중간 노드를 통해 목적지 노드로 전송할 수 있다.
상기 소스 노드는 자신의 MTU 크기로 패킷을 전송한 후, 미리 정의된 시간 동안 IMCP 메시지가 수신되는지 확인할 수 있다.
상기 소스 노드는 미리 정의된 시간 동안 IMCP 메시지가 수신되지 않는 경우, 상기 소스 노드는 기 설정 MTU를 미리 정의된 사이즈의 MTU, 예를 들어, 상기 소스 노드에서 설정할 수 있는 가장 작은 사이즈의 MTU로 변경할 수 있다.
본 발명의 다양한 실시예에 따라, 전자장치는 MTU 값을 저장하는 메모리, 기 설정된 제 1 MTU 값의 패킷을 중간 노드로 전송하고, 중간 노드로부터 패킷에 대한 응답을 수신하는 통신부, 네트워크 연결 시 기 설정된 제 1 MTU 값의 패킷이 목적지 노드로 전송하고, 상기 기 설정된 제 1 MTU 값의 패킷이 목적지 노드로 전송되지 못하는 경우, IP 계층을 통해 최적 MTU 값을 측정하고, 상기 기 설정된 제 1 MTU 값을 상기 측정된 최적 MTU 값으로 변경하는 처리하는 프로세서를 포함할 수 있다.
상기 프로세서는 ICMP 메시지를 중간 노드로 전송하여 최적 MTU 값을 측정하고, 상기 메시지에 대한 응답이 미리 정해진 시간동안 수신되지 않으면 최적 MTU 값 측정에 실패하였다고 판단할 수 있다.
상기 프로세서는 상기 IP 계층을 통해 최적 MTU 값 측정이 실패하는 경우, 애플리케이션 계층을 통해 최적 MTU 값을 측정하도록 처리할 수 있다.
상기 프로세서는 목적지 노드로 데이터를 요청하여 최적 MTU 값을 측정하고, 상기 요청에 대한 응답이 미리 정해진 시간동안 수신되지 않으면 최적 MTU 값 측정에 실패하였다고 판단할 수 있다.
상기 프로세서는 상기 애플리케이션 계층을 통해 최적 MTU 값 측정에 실패하는 경우, 상기 기 설정된 제 1 MTU 값을 미리 정의된 제 2 MTU 값으로 변경하도록 처리하되, 상기 제 2 MTU 값은 상기 제 1 MTU 값보다 적은 값을 가질 수 있다.
본 발명의 다양한 실시예에 따르면, 컴퓨터 판독 가능한 기록 매체는 네트워크 연결 시 기 설정된 제 1 MTU 값의 패킷이 목적지 노드로 전송될 수 있는지 확인하는 동작, 상기 기 설정된 제 1 MTU 값의 패킷이 목적지 노드로 전송되지 못하는 경우, IP 계층 또는 애플리케이션 계층을 통해 최적 MTU 값을 측정하는 동작 및 상기 기 설정된 제 1 MTU 값을 상기 측정된 최적 MTU 값으로 변경하는 동작을 수행하기 위한 애플리케이션 또는 프로그램을 기록할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체는 상기 최적 MTU 값 측정에 실패하는 경우, 상기 기 설정된 제 1 MTU 값을 미리 정의된 제 2 MTU 값으로 변경하는 동작을 수행하기 위한 애플리케이션 또는 프로그램을 더 기록할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체는 상기 최적 MTU 값 측정에 실패하는 경우, 상기 제 1 MTU 값보다 적은 제 2 MTU 값으로 변경하는 동작을 수행하기 위한 애플리케이션 또는 프로그램을 포함할 수 있다.
본 발명의 청구항 및/또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자장치로 하여금, 본 발명의 청구항 및/또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM, Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM, Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM, Compact Disc-ROM), 디지털 다목적 디스크(DVDs, Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 전자장치에 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 전자장치에 접속할 수 있다.
또한, 통신 네트워크상의 별도의 저장장치가 휴대용 전자장치에 접속할 수도 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 전자장치의 동작 순서가 변경 또는 병합되거나 재사용 가능하며 생략 등과 같이 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (19)

  1. 전자장치의 데이터 처리 방법에 있어서,
    지정된 제 1 MTU 값의 패킷을 목적지 노드로 전송하는 동작;
    제 1 MTU 값의 패킷에 대한 응답 메시지의 수신을 확인하는 동작;
    상기 응답 메시지가 수신되지 않은 경우, 상기 제 1 MTU 값에 기초한 ICMP(Internet Control Message Protocol) 메시지 또는 제 2 MTU 값에 기초한 더미 데이터 요청 메시지 중 적어도 하나를 목적지 노드로 전송하는 송신 동작; 및
    상기 ICMP 메시지 또는 상기 더미 데이터 요청 메시지 중 적어도 하나에 기초하여 최적 MTU 값을 결정하는 동작; 을 포함하고,
    상기 송신 동작은,
    제 1 MTU 값에 기초하여 상기 ICMP 메시지를 목적지 노드로 전송하는 동작;
    상기 ICMP 메시지에 대한 응답 메시지의 수신을 확인하는 동작; 및
    상기 ICMP 메시지에 대한 응답 메시지가 수신되지 않은 경우, 제 2 MTU 값에 기초하여 상기 더미 데이터 요청 메시지를 전송하는 동작; 을 포함하는, 전자 장치의 데이터 처리 방법.
  2. 제 1항에 있어서,
    상기 최적 MTU 값 결정하는 동작은,
    상기 ICMP 메시지 또는 상기 더미 데이터 요청 메시지 중 적어도 하나에 대한 응답 메시지의 수신을 확인하는 동작;
    상기 ICMP 메시지 또는 상기 더미 데이터 요청 메시지 중 적어도 하나에 대한 응답 메시지가 수신되지 않은 경우, 지정된 제 3 MTU 값에 기초하여 최적 MTU 값을 결정하는 동작을 더 포함하고,
    상기 제 3 MTU 값은 상기 제 1 MTU 값보다 적은 값을 가지는 것을 특징으로 하는 방법.
  3. 제 1항에 있어서,
    상기 최적 MTU 값을 결정하는 동작은,
    중간 노드로부터의 상기 ICMP 메시지에 대한 중간 노드 응답 메시지를 수신하는 동작; 및
    상기 중간 노드 응답 메시지에 포함된 상기 중간 노드의 제 4 MTU 값에 기초하여 상기 최적 MTU 값을 결정하는 동작을 더 포함하는 방법.
  4. 제 3항에 있어서,
    상기 ICMP 메시지는 핑(Ping) 메시지를 포함하고,
    상기 ICMP 메시지에 대한 상기 중간 노드 응답 메시지는 ICMP 에러 메시지를 포함하는 방법.
  5. 제 3항에 있어서,
    상기 ICMP 메시지는, 상기 ICMP 메시지가 분할되지 않도록 지시하는 정보를 더 포함하는 방법.
  6. 삭제
  7. 제 1항에 있어서,
    상기 제 2 MTU 값은 상기 제 1 MTU 값보다 적은 값을 가지는 방법.
  8. 제 1항에 있어서,
    상기 더미 데이터 요청 메시지는,
    HTTP (Hypertext Transfer Protocol) 통신에 기초하여 전송하는 방법.
  9. 전자장치에 있어서,
    메모리;
    통신부; 및
    프로세서; 를 포함하고,
    상기 프로세서는,
    지정된 제 1 MTU 값의 패킷을 목적지 노드로 전송하고, 제 1 MTU 값의 패킷에 대한 응답 메시지의 수신을 확인하고,
    상기 응답 메시지가 수신되지 않는 경우, 상기 제 1 MTU 값에 기초한 ICMP 메시지를 상기 목적지 노드로 전송하고, 상기 ICMP 메시지에 대한 응답 메시지의 수신을 확인하고,
    상기 ICMP 메시지에 대한 상기 응답 메시지가 수신되지 않은 경우, 제 2 MTU 값에 기초하여 더미 데이터 요청 메시지를 전송하고, 상기 더미 데이터 요청 메시지에 대한 응답에 기초하여 최적 MTU 값을 결정하도록, 상기 통신부를 제어하는, 전자장치.
  10. 제 9항에 있어서,
    상기 프로세서는,
    상기 ICMP 메시지 또는 상기 더미 데이터 요청 메시지 중 적어도 하나에 대한 응답 메시지의 수신을 확인하고,
    상기 ICMP 메시지 또는 상기 더미 데이터 요청 메시지 중 적어도 하나에 대한 응답 메시지가 수신되지 않은 경우, 지정된 제 3 MTU 값에 기초하여 최적 MTU 값을 결정하도록, 상기 통신부를 제어하고,
    상기 제 3 MTU 값은 상기 제 1 MTU 값보다 적은 값을 가지는, 전자장치.
  11. 삭제
  12. 제 9항에 있어서,
    상기 프로세서는,
    중간 노드로부터의 상기 ICMP 메시지에 대한 중간 노드 응답 메시지를 수신하고, 상기 중간 노드 응답 메시지에 포함된 상기 중간 노드의 제 4 MTU 값에 기초하여 상기 최적 MTU 값을 결정하도록, 상기 통신부를 제어하는, 전자장치.
  13. 제 9항에 있어서,
    상기 ICMP 메시지는, 상기 ICMP 메시지가 분할되지 않도록 지시하는 정보를 포함하는 전자장치.
  14. 전자 장치에서,
    지정된 제 1 MTU 값의 패킷을 목적지 노드로 전송하는 동작;
    제 1 MTU 값의 패킷에 대한 응답 메시지의 수신을 확인하는 동작;
    상기 응답 메시지가 수신되지 않은 경우, 상기 제 1 MTU 값에 기초한 ICMP 메시지를 목적지 노드로 전송하는 송신 동작;
    상기 ICMP 메시지에 대한 응답 메시지의 수신을 확인하는 동작; 및
    상기 ICMP 메시지에 대한 상기 응답 메시지가 수신되지 않은 경우, 제 2 MTU 값에 기초하여 더미 데이터 요청 메시지를 전송하는 동작; 및
    상기 더미 데이터 요청 메시지에 기초하여 최적 MTU 값을 결정하는 동작; 을 수행하기 위한 애플리케이션 또는 프로그램을 기록한, 비일시적 컴퓨터 판독 가능한 기록 매체.
  15. 제 14항에 있어서,
    상기 최적 MTU 값을 결정하는 동작은,
    상기 ICMP 메시지 또는 상기 더미 데이터 요청 메시지 중 적어도 하나에 대한 응답 메시지의 수신을 확인하는 동작; 및
    상기 ICMP 메시지 또는 상기 더미 데이터 요청 메시지 중 적어도 하나에 대한 응답 메시지가 수신되지 않은 경우, 지정된 제 3 MTU 값에 기초하여 최적 MTU 값을 결정하는 동작, 상기 제 3 MTU 값은 상기 제 1 MTU 값보다 적은 값을 가짐; 을 수행하기 위한 애플리케이션 또는 프로그램을 더 기록한, 비일시적 컴퓨터 판독 가능한 기록 매체.
  16. 제 15항에 있어서,
    상기 제 2 MTU 값이 제 1 MTU 값보다 적은 값을 가지는, 비일시적 컴퓨터 판독 가능한 기록 매체.
  17. 제 14항에 있어서,
    상기 최적 MTU 값을 결정하는 동작은,
    중간노드로부터의 상기 ICMP 메시지에 대한 중간 노드 응답 메시지를 수신하는 동작; 및
    상기 중간 노드 응답 메시지에 포함된 상기 중간 노드의 제 4 MTU 값에 기초하여 상기 최적 MTU 값을 결정하는 동작; 을 더 포함하는, 비일시적 컴퓨터 판독 가능한 기록 매체.
  18. 제 17항에 있어서,
    상기 ICMP 메시지는 핑(Ping) 메시지를 포함하고,
    상기 ICMP 메시지에 대한 상기 중간 노드 응답 메시지는 ICMP 에러 메시지를 포함하는, 비일시적 컴퓨터 판독 가능한 기록 매체.
  19. 제 18항에 있어서,
    상기 ICMP 메시지는, 상기 ICMP 메시지가 분할되지 않도록 지시하는 정보를 더 포함하는, 비일시적 컴퓨터 판독 가능한 기록 매체.
KR1020130136064A 2013-11-11 2013-11-11 데이터 처리 방법 및 그 방법을 처리하는 전자장치 KR102089629B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130136064A KR102089629B1 (ko) 2013-11-11 2013-11-11 데이터 처리 방법 및 그 방법을 처리하는 전자장치
US14/538,616 US9843527B2 (en) 2013-11-11 2014-11-11 Method for processing data and an electronic device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130136064A KR102089629B1 (ko) 2013-11-11 2013-11-11 데이터 처리 방법 및 그 방법을 처리하는 전자장치

Publications (2)

Publication Number Publication Date
KR20150054100A KR20150054100A (ko) 2015-05-20
KR102089629B1 true KR102089629B1 (ko) 2020-04-14

Family

ID=53043730

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130136064A KR102089629B1 (ko) 2013-11-11 2013-11-11 데이터 처리 방법 및 그 방법을 처리하는 전자장치

Country Status (2)

Country Link
US (1) US9843527B2 (ko)
KR (1) KR102089629B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9877144B2 (en) * 2014-07-04 2018-01-23 Electronics And Telecommunications Research Institute Method for transmission of IPv6 packets over near field communication (NFC) and device operating the same
US9948568B2 (en) * 2015-09-30 2018-04-17 Red Hat Israel, Ltd. Packet size control using maximum transmission units for facilitating packet transmission
US10499302B1 (en) 2018-05-01 2019-12-03 Action Streamer, LLC Method and apparatus for application specific medium access control and physical layer network behavior manipulation
CN111654450B (zh) * 2020-05-28 2023-08-08 北京小米移动软件有限公司 数据传输方法及装置、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040001444A1 (en) * 2002-06-26 2004-01-01 Emek Sadot Packet fragmentation prevention
US20090144424A1 (en) * 2007-12-04 2009-06-04 Sony Computer Entertainment Inc. Network bandwidth detection and distribution

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090010416A (ko) 2007-07-23 2009-01-30 삼성전자주식회사 Ppp 연결의 패킷 크기 최적화 시스템 및 그 방법
KR20100123074A (ko) 2009-05-14 2010-11-24 삼성전자주식회사 이동통신 시스템에서 데이터 호의 최대 세그먼크 크기 결정 장치 및 방법
KR101357527B1 (ko) 2011-01-11 2014-02-11 주식회사 팬택 사용자 단말에서의 mtu 설정 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040001444A1 (en) * 2002-06-26 2004-01-01 Emek Sadot Packet fragmentation prevention
US20090144424A1 (en) * 2007-12-04 2009-06-04 Sony Computer Entertainment Inc. Network bandwidth detection and distribution

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Luchie 외 2명, "Inferring and Debugging Path MTU Discovery Failures", 2005.4.28*

Also Published As

Publication number Publication date
US20150131469A1 (en) 2015-05-14
KR20150054100A (ko) 2015-05-20
US9843527B2 (en) 2017-12-12

Similar Documents

Publication Publication Date Title
KR102076280B1 (ko) 이동 통신 시스템에서 전자 장치의 통신 수행 방법 및 장치
EP3472897B1 (en) Electronic device and method thereof for grip recognition
US9606957B2 (en) Electronic device and method of linking a task thereof
US9516489B2 (en) Method of searching for device between electronic devices
US20160007084A1 (en) Method and apparatus for sharing data of electronic device
EP3018919B1 (en) Method of transmitting and receiving data of electronic device and electronic device using the method
KR102221021B1 (ko) 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법
KR102250772B1 (ko) 이어 잭 오작동을 방지하는 전자 장치 및 방법
KR102216881B1 (ko) 전자장치에서 마이크의 감도에 따른 자동 이득 조절 방법 및 장치
KR102187227B1 (ko) 컨텐츠 생성 방법 및 그 전자 장치
KR102238905B1 (ko) 전자 장치의 비콘 전달 방법 및 그 전자 장치
KR20150141437A (ko) 무선 통신 시스템에서 반송파 집적을 제어하기 위한 방법 및 전자장치
KR102133514B1 (ko) 전자 장치의 상태 메시지 서비스 제공 방법 및 그 전자 장치
KR102089629B1 (ko) 데이터 처리 방법 및 그 방법을 처리하는 전자장치
KR102240526B1 (ko) 전자 장치의 컨텐츠 다운로드 방법 및 그 전자 장치
KR20150019813A (ko) 컨텐츠 무결성 제어 방법 및 그 전자 장치
US10212215B2 (en) Apparatus and method for providing metadata with network traffic
KR20150133509A (ko) 데이터 플로우 관리 방법 및 전자 장치
KR20150089393A (ko) 배터리 충전 제어 방법 및 그 전자 장치
KR102178301B1 (ko) 전환 정보 제어 방법 및 그 전자 장치
KR102213429B1 (ko) 사운드 제공 방법 및 이를 구현하는 전자 장치
KR102250777B1 (ko) 컨텐츠 제공 방법 및 그 전자 장치
KR102154324B1 (ko) 배터리 충전 중 통화 품질을 향상시키는 전자 장치 및 방법
KR102131943B1 (ko) Url 분석 방법 및 그 전자 장치
US9571521B2 (en) Method for processing data and electronic device therefor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant